マウス イベントをスワイプ イベント (タッチ スクリーン用) に変換しようとしていますが、何時間も経ってもその方法がわかりません。
これが私のコードです:
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;
}
私のコンピューターでは、インベントリをクリックしてアイテムを選択すると、画面上の好きな場所にドラッグできます (アイテムがマウスになり、マウスが非表示になります)。
だから私はそれをタッチスクリーン用に変換しようとしています。「mouseX」の代わりに「event.stageX」を使用しようとしましたが、うまくいきませんでした。mouseEvent を TransformGestureEvent に置き換えようとしましたが、うまくいきませんでした。
また、インベントリで自分のアイテムをクリックすると、アイテムが画面の中央隅に固定されたままになり、移動できなくなります。(Adobe Air for Androidでエクスポートしているときに発生します.swfでエクスポートしている場合は問題なく動作しています)。
どうすればできるか知っていますか?
問題のビデオは次のとおりです。uploaded.net/file/lkwqsgm7
どうもありがとうございました !