有时候需要把某个MC定位到指定MC的位置, 而两个MC的路径各不相同, 这个时候就不能简单的用mc1._x=mc2._x了.
写了个函数可以解决这个问题, 原理就是先把目标MC的坐标转换成全局坐标, 在把这个全局坐标转换成源MC的本地坐标就可以了. 通过localToGlobal和globalToLocal实现.
调用方法: setLocalToTarget (源MC, 目标MC)
写了个函数可以解决这个问题, 原理就是先把目标MC的坐标转换成全局坐标, 在把这个全局坐标转换成源MC的本地坐标就可以了. 通过localToGlobal和globalToLocal实现.
调用方法: setLocalToTarget (源MC, 目标MC)
程序代码
function setLocalToTarget
(originMC
:
MovieClip
, targetMC
:
MovieClip
)
:
Void
{
var myPoint : Object = new Object ( )
//先把targetMC的坐标转换成全局坐标
myPoint .x = 0
myPoint .y = 0
targetMC . localToGlobal (myPoint )
//
//再把转换出来的全局坐标转换成originMC的本地坐标
originMC . globalToLocal (myPoint )
originMC . _x + = myPoint .x
originMC . _y + = myPoint .y
}
{
var myPoint : Object = new Object ( )
//先把targetMC的坐标转换成全局坐标
myPoint .x = 0
myPoint .y = 0
targetMC . localToGlobal (myPoint )
//
//再把转换出来的全局坐标转换成originMC的本地坐标
originMC . globalToLocal (myPoint )
originMC . _x + = myPoint .x
originMC . _y + = myPoint .y
}