影片剪辑的位置几种方法

首先要明确下,舞台也是一个movieClip,

他的坐标原点在左上角(0,0)

其他的影片剪辑坐标是注册点在舞台的位置,

注册点:就是剪辑内部的十字符号

 

本文主要讲解嵌套影片剪辑的坐标,

当一个mc(影片剪辑)名为:b_mc,在另一个名为a_mc的剪辑中,

如图:

影片剪辑的位置几种方法

b_mc在a_mc内部,b_mc的坐标是 根据自身的_x _y和父剪辑a_mc的坐标决定的。

所有子影片剪辑的_x _y数值,永远都是本地位置,不会随着父剪辑的移动而改变。

 

解决的方法:

1:计算父剪辑的在全局位置的及子影片剪辑的本地位置

     如舞台里有a,a里面有b

     获取b的坐标:    

1  trace(a._x + a.b._x)

2:localToGlobal()

 

1  var op0:Object = new  Object() // 建立一个点对象
2  op0.x = a.b._x // 注意op0.x 不是_x
3  op0.y = a.b._y // 注意op0.y 不是_y
4  // 点对象必须好友x y两个属性,必不可少
5  a.localToGlobal(op0)
6  trace(op0.x + "   b " );

 

综合的例子:

1:在舞台上 画一个 100*70的蓝色矩形,选中,按F8转为mc

2:对该剪辑的实例名称:a

3:在a中绘制一个60*40的粉色矩形,选中,按F8转为mc

4:对该剪辑的实例名称:b

5:在b中绘制一个40*30的黄色色矩形,选中,按F8转为mc

6:对该剪辑的实例名称:c

在主时间轴上新建一个层,名为as

输入代码:

 

 1 影片剪辑的位置几种方法 stop();
 2 影片剪辑的位置几种方法a.onPress  =  function()  {
 3影片剪辑的位置几种方法    this.startDrag();
 4影片剪辑的位置几种方法}
;
 5 影片剪辑的位置几种方法a.onRelease  =  function()  {
 6影片剪辑的位置几种方法    this.stopDrag()
 7影片剪辑的位置几种方法    //----------------------------第一个点对象 记录b的坐标
 8影片剪辑的位置几种方法    var op0:Object=new Object()
 9影片剪辑的位置几种方法    op0.x=this.b._x
10影片剪辑的位置几种方法    op0.y=this.b._y
11影片剪辑的位置几种方法    this.localToGlobal(op0)
12影片剪辑的位置几种方法    trace(op0.x+"  b");
13影片剪辑的位置几种方法    //----------------------------第二个点对象 记录c的坐标
14影片剪辑的位置几种方法    var op1:Object=new Object()
15影片剪辑的位置几种方法    op1.x=this.b.c._x
16影片剪辑的位置几种方法    op1.y=this.b.c._y
17影片剪辑的位置几种方法    this.b.localToGlobal(op1)
18影片剪辑的位置几种方法    trace(op1.x+"  c");
19影片剪辑的位置几种方法}
;
20 影片剪辑的位置几种方法

 

源文件下载

naiking的flash技术博客欢迎你

 

你可能感兴趣的:(方法)