将mouseX + x转换为战术屏幕

时间:2013-08-11 08:23:09

标签: android actionscript-3

我正在AS3制作游戏(点击并点击)。我想为PC和平板电脑做这件事。 但是,我遇到了一个问题:

在我的Pc版本中,当我进入库存并单击某个项目时,该项目将替换我的光标,我可以将其拖动到我进入屏幕的位置。

在我的战术版中,当我点击该项目时,它会卡在屏幕的左下角。我想问题是在战术版本中没有光标..

你知道我必须为战术版改变什么吗? (例如,项目停留在屏幕中间位置,我必须点击我想要的位置,没有拖延。

感谢您的帮助,

这是我的“dragItem”函数的代码:

    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;
    }

0 个答案:

没有答案