魔兽世界飞行坐骑为什么一直往下沉
键盘控制MC移动方法很多,个人觉得布尔值法,最好用,数组法很不好用。如下面的代码是布值法
var leftArrow,rightArrow:Boolean;
stage.addEventListener(KeyboardEvent.KEY_DOWN,KeyDown);
stage.addEventListener(KeyboardEvent.KEY_UP,KeyUp);
addEventListener(Event.ENTER_FRAME,go);
function KeyDown(event:KeyboardEvent) {
if (event.keyCode == 37) {
leftArrow = true;
} else if (event.keyCode==39) {
rightArrow = true;
}
}
function KeyUp(event:KeyboardEvent) {
if (event.keyCode == 37) {
leftArrow = false;
} else if (event.keyCode==39) {
rightArrow = false;
}
}
function go(event:Event) {
if (leftArrow) {
Botal.x -= 10;
}
if (rightArrow) {
Botal.x += 10;
}
}
而你要的效果就是在屏幕上的虚拟按键,那就是把键盘侦听换成鼠标侦听就是了。如下面修改上面的代码结果如下
var leftArrow,rightArrow:Boolean;
LeftBtn.addEventListener(MouseEvent.MOUSE_DOWN,KeyDown);
RightBtn.addEventListener(MouseEvent.MOUSE_DOWN,KeyDown);
LeftBtn.addEventListener(MouseEvent.MOUSE_UP,KeyUp);
RightBtn.addEventListener(MouseEvent.MOUSE_UP,KeyUp);
addEventListener(Event.ENTER_FRAME,go);
function KeyDown(event:MouseEvent) {
if (event.currentTarget.name == "LeftBtn") {
leftArrow = true;
}
if (event.currentTarget.name == "RightBtn") {
rightArrow = true;
}
}
function KeyUp(event:MouseEvent) {
leftArrow = false;
rightArrow = false;
}
function go(event:Event) {
if (leftArrow) {
Botal.x -= 10;
}
if (rightArrow) {
Botal.x += 10;
}
}...
8249