flash另一元件位置问题

来源:百度知道 编辑:UC知道 时间:2024/06/02 10:46:08
影片第一帧中有一mc将其放在(0,0)处
如果在帧上写入
mc._x=100;
trace(mc._x)
得输出100
如果在影片中建立空白影片剪辑写上
onClipEvent (enterFrame) {
_root.mc._x = 100;

}
在帧上写
trace(_root.mc._x);
trace(mc._x);
得到输出
0
0
但如果写在空白影片剪辑上写
trace(_root.mc._x)
得到输出
100
并且持续输出
这是怎么回事?希望高手指点。

元件的坐标是以本身的十字架为基准去比较的(单选中元件就会出现该元件的十字架),而在编辑状态下的元件对准位置是以元件的最左端为基准的.如你的元件mc的编辑状态下的位置你是设置为0,0了,如你所看到的,元件是为最左上角了,但元件的十字架的位置并不是在舞台的左上角是不是?十字架所在的位置是横坐标为100的某个位置上,但,计算坐标时,是以十字架为准的,所以,你在输出时看到的mc的横坐标为100而不是0.之所以空白的影辑的坐标输出为0,0,那是因为空白的影辑是没有任何东西的,所以很自然的,元件的最左上角就是十字架所处的位置,当然输出的就是元件的坐标了.
所以.在某个元件里设置坐标也是同样道理,但主元件的基准就是那个不动的十字架(0,0)
总之,代码中元件的坐标计算是以十字架为准的
注:以上的坐标计算是以十字架所在位置相对舞台的最左上角

第一个MC中有STOP,第二个没有。
因为是影片剪辑,是个事件,你没添加stop(),这个影片剪辑会不断重复,输出面板也就会持续输出