我正在尝试将我的鼠标事件转换为滑动事件(用于触摸屏),但是经过数小时和数小时后,我不知道该怎么做。
这是我的代码:
public function DraggedItem(stageRef:Stage, grabbedItem:Object){
this.stageRef = stageRef;
toolbar = Engine.toolbar;
usableItems = Engine.usableItems;
inv = Engine.inv;
puzzle = Engine.puzzle;
player = Engine.player;
linesData = Engine.linesData;
inv.draggingItem = true;
Mouse.hide();
itemRef = getDefinitionByName(grabbedItem.displayName.toLowerCase()+"Proper");
draggedItem = new itemRef;
stageRef.addChild(draggedItem);
draggedItem.displayName = grabbedItem.displayName;
if (grabbedItem.lookTag)
draggedItem.lookTag = grabbedItem.lookTag;
draggedItem.x = mouseX + x;
draggedItem.y = mouseY + y;
draggedItem.scaleX = itemScale;
draggedItem.scaleY = itemScale;
stageRef.addEventListener(MouseEvent.MOUSE_MOVE, dragItem, false, 0, true);
stageRef.addEventListener(Event.ENTER_FRAME, itemHitTest, false, 0, true);
draggedItem.addEventListener(MouseEvent.CLICK, itemClick, false, 0, true);
}
private function dragItem(e:MouseEvent):void{
draggedItem.x = mouseX + x;
draggedItem.y = mouseY + y;
}
在我的电脑上,当我点击我的库存并选择一个项目时,我可以将它拖到屏幕上我想要的位置(项目变成鼠标,鼠标被隐藏)。
所以我正在尝试将其转换为触摸屏。我尝试使用“event.stageX”而不是“mouseX”,但它没有用。我尝试用 TransformGestureEvent 替换 mouseEvent,但没有成功。
当我点击库存中的物品时,该物品停留在屏幕的中间角落,我无法移动它。(它发生在我使用 adobe Air for Android 导出时,如果我在 swf 中导出它工作得很好)。
你知道我该怎么做吗?
这是问题的视频:uploaded.net/file/lkwqsgm7
非常感谢 !