Flash中的setCursorPos问题 - Away3D

时间:2011-01-09 18:24:57

标签: flash actionscript away3d

我在Away3D中为Flash制作第一人称射击游戏,但似乎setCursorPos无法正常工作。当我调用setCursorPos时,光标移动到屏幕的中心,但也会触发MOUSE_MOVE事件。这是预期的行为吗?我如何知道MOUSE_MOVE事件何时由setCursorPos引起;或者它是否是由实际的鼠标移动引起的?这是我正在尝试做的代码示例:

private function onMove(evt:MouseEvent):void {
if (prevY == 0) {
                    prevY = evt.stageY;
                    prevX = evt.stageX;
                }
                    mainView.camera.rotate(Vector3D.X_AXIS,evt.stageY - prevY);

                }
            }
            //This triggers a MOUSE_MOVE event, causing this function to be called again.
                nativeInterface.setCursorPos(nativeInterface.screenResolution[0] / 2, nativeInterface.screenResolution[1] / 2);
}

1 个答案:

答案 0 :(得分:0)

我不熟悉nativeInterface和setCursorPos。你能提供一些细节吗?这是Away3D还是Away3DLite?

首先想到的是将两者分开是检查eventPhase以及基于此的do和if语句,如果eventPhase因取决于/什么触发事件而不同。

HTH