LocalToGlobal多次

时间:2014-10-22 19:01:20

标签: actionscript-3 flash

无论出于何种原因,此代码无法正常运行。有人可以成为一双新鲜的眼睛,找到我做错的事吗?老实说,我不知道是怎么回事。这是代码:

import flash.geom.Point;

var upperPoint:Point = new Point(monster.animation2.upper.attackMarker.x,monster.animation2.upper.attackMarker.y);
var animationPoint:Point = new Point(monster.animation2.upper.localToGlobal(upperPoint).x,monster.animation2.upper.localToGlobal(upperPoint).y);
var monsterPoint:Point =new Point(monster.animation2.localToGlobal(animationPoint).x,monster.animation2.localToGlobal(animationPoint).y);
var globalPoint:Point = new Point(monster.localToGlobal(monsterPoint).x,monster.localToGlobal(monsterPoint).y);

trace(globalPoint);

以下是movieClips中父母关系的快速图表:

monster [animation [upper [attackMarker]]]

如果我要将movieClip从其所有父项中删除,Flash应该跟踪attackMarker的确切位置。有人能弄清楚我做错了吗?

1 个答案:

答案 0 :(得分:1)

在尝试查找显示对象的全局坐标时,您只需要在对象的直接父级上调用localToGlobal 一次(在您的示例中,怪物) .animation2.upper):

var attackMarkerPoint:Point = new Point(monster.animation2.upper.attackMarker.x, monster.animation2.upper.attackMarker.y);
var globalPoint:Point = monster.animation2.upper.localToGlobal(attackMarkerPoint);