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

发布于 2013-08-09 17:25:47
你可以这样做(你所有的按钮都需要一个名字和你的男人:
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;
}这样就行了。
https://stackoverflow.com/questions/18151651
复制相似问题