永发信息网

flash游戏添加触摸按钮

答案:2  悬赏:40  手机版
解决时间 2021-02-27 19:52
  • 提问者网友:城市野鹿
  • 2021-02-27 04:44
PC版的flash游戏已经成功编写完成用键盘控制的,想在ipad中增加虚拟触控按键(就是键盘的上下左右和JKL的键值),求大神推荐一个教程或可行的代码,
目的:在触控屏上添加几个触控按钮的代码,用于模拟键盘的键值
最佳答案
  • 五星知识达人网友:第四晚心情
  • 2021-02-27 05:31
键盘控制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;
}
}
全部回答
  • 1楼网友:几近狂妄
  • 2021-02-27 07:00
把你原来Keyboard的事件转发到类似一个 function onKey_func(__keyCode:uint):void{ switch(__keyCode){ } } 这样子不就可以在虚拟按钮中向onKey_func传入虚拟键值了吗?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯