我正在做一个自上而下的视图游戏。其实是一个非常简单的。玩家在屏幕上点击时角色会移动。但是,我也有一个消防按钮。 我想知道如何在玩家按下按钮时禁用鼠标。因为当这种情况发生时,角色会移动到按钮位置。AS3 MouseEvents
这里是我的代码:
var walk = false;
var goX = player.x;
var goY = player.y;
var speed = 10;
var dir = "down";
stage.addEventListener(Event.ENTER_FRAME, loop);
btn.addEventListener(MouseEvent.MOUSE_DOWN, btn1);
function btn1(event:MouseEvent):void
{
fireBullet();
}
function fireBullet():void {
var playerDirection:String;
if(player.scaleX < 0){
playerDirection = "left";
} else if(player.scaleX > 0){
playerDirection = "right";
}
if(char.scaleY < 0){
playerDirection = "up";
} else if(char.scaleY > 0){
playerDirection = "down";
}
var bullet:Bullet = new Bullet(player.x, player.y, playerDirection);
stage.addChild(bullet);
}
function loop(Event)
{
if (walk == true)
{
player.w.play();
}
else
{
player.w.gotoAndStop(1);
}
player.gotoAndStop(dir);
if ((goY-speed)>player.y)
{
player.y += speed;
dir = "down";
}
else if ((goY+speed)<player.y)
{
player.y -= speed;
dir = "up";
}
if ((goX-speed)>player.x)
{
player.x += speed;
dir = "right";
}
else if ((goX+speed)<player.x)
{
player.x -= speed;
dir = "left";
}
if ((goY-speed)>player.y || (goY+speed)<player.y || (goX-speed)>player.x || (goX+speed) <player.x){
walk = true;
} else {
walk =false
}
}
stage.addEventListener(MouseEvent.CLICK, set);
function set(MouseEvent){
goX=mouseX
goY=mouseY}
感谢。
你是指键盘上的按钮?就像当你按住空格键时,走路会被禁用? – Marty 2013-02-28 07:34:36
不是。我是使用MouseEvent实现的一个虚拟按钮 - 并且我还使用MouseEvent将角色沿着屏幕移动 - “因为我正在将此游戏制作成触控设备。 – CptAwesome 2013-02-28 07:49:30