我正在为 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);
}