Away3D(4.x扫帚)如何将对象的全局转换为本地位置?

时间:2011-08-28 14:19:49

标签: actionscript-3 3d away3d

我正在建造一个在目标(飞机)上发射球的游戏。飞机向后旋转45度。我想将全局球位置(x,y,z)转换为目标的局部坐标,以便我可以检测到它的位置。

有什么想法吗?

2 个答案:

答案 0 :(得分:4)

使用目标平面的inverseSceneTransform来变换球的position向量。应该这样做。

var localPosition : Vector3D;
localPosition = plane.inverseSceneTransform.transformVector( ball.position );

这应该会让你在飞机的当地空间中占据球的位置。

答案 1 :(得分:2)

以上解决方案仅在项目/球直接在舞台上时才有效。如果不是,你应该使用ball.scenePosition!

item.position = targetContainer.inverseSceneTransform.transformVector(item.scenePosition);