首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在flash AS3中制作d-pad?

如何在flash AS3中制作d-pad?
EN

Stack Overflow用户
提问于 2013-08-09 16:42:39
回答 1查看 1.5K关注 0票数 1

因此,我还没有完全开始,但我想为我的应用程序在闪存AS3做一个简单的d-pad。假设我有四个按钮。UpBtn,DownBtn,LeftBtn和RightBtn。我只想在这些方向上移动一个物体。假设对象名为"manD“。我如何在AS3中做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-09 17:25:47

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

代码语言:javascript
复制
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;
}

这样就行了。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18151651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档