1

所以我还没有开始,但我想在 Flash AS3 中为我的应用程序制作一个简单的 d-pad。所以假设我有四个按钮。UpBtn、DownBtn、LeftBtn 和 RightBtn。我只想在这些方向上移动一个对象。假设对象名称是“manD”。我将如何在 AS3 中执行此操作?

一个简单的方向键,如下所示

4

1 回答 1

3

你可以做这样的事情(你所有的按钮都需要一个名字和你的男人:

var speed:int = 10;
var xdir:int = 0;
var ydir:int = 0;

UpBtn.addEventListener(MouseEvent.MOUSE_DOWN, onDown);
DownBtn.addEventListener(MouseEvent.MOUSE_DOWN, onDown);
LeftBtn.addEventListener(MouseEvent.MOUSE_DOWN, onDown);
RightBtn.addEventListener(MouseEvent.MOUSE_DOWN, onDown);
addEventListener(MouseEvent.MOUSE_UP, onUp);
addEventListener(Event.ENTER_FRAME, onEnterFrame);

// What happens when a button is released.
function onUp(e:MouseEvent):void {
    xdir = 0;
    ydir = 0;
}

// What is happening when one of the buttons is clicked.
function onDown(e:MouseEvent):void {
    // Reset direction
    onUp(e);

    switch(e.target.name){
        case 'LeftBtn':
            xdir = -1;
            break;
        case 'RightBtn':
            xdir = 1;
            break;
        case 'UpBtn':
            ydir = -1;
            break;
        case 'DownBtn':
            ydir = 1;
            break;
    }
}

// The actual movement.
function onEnterFrame(e:Event):void {
    manD.x += xdir * speed;
    manD.y += ydir * speed;
}

那应该这样做。

于 2013-08-09T17:25:47.210 回答