AS3按住按钮时连续运行代码 – 适用于iOSAndroid的Air

AS3按住按钮时连续运行代码 – 适用于iOSAndroid的Air,第1张

概述我正在使用Flash CS6开发iOS游戏. 我有一个基本的运动测试,我把它放在Event.MOUSE_DOWN处理程序中. 我期待/想要的是当我用手指按下按钮时,玩家将一直移动直到我停止触摸屏幕. 但是,我必须不停地点击以保持玩家的移动 – 而不是仅仅按住按钮并且玩家继续移动. 我应该用什么代码来完成我想要的东西? 要实现这一点,您需要在MouseEvent.MOUSE_DOWN和Event.M 我正在使用Flash CS6开发iOS游戏.
我有一个基本的运动测试,我把它放在Event.MOUSE_DOWN处理程序中.

我期待/想要的是当我用手指按下按钮时,玩家将一直移动直到我停止触摸屏幕.

但是,我必须不停地点击以保持玩家的移动 – 而不是仅仅按住按钮并且玩家继续移动.

我应该用什么代码来完成我想要的东西?

解决方法 要实现这一点,您需要在MouseEvent.MOUSE_DOWN和Event.MOUSE_UP之间连续运行一个函数,因为MouseEvent.MOUSE_DOWN每次按下只会调度一次.

这是一个简单的脚本:

mybutton.addEventListener(MouseEvent.MOUSE_DOWN,mouseDown);function mouseDown(e:Event):voID {    stage.addEventListener(MouseEvent.MOUSE_UP,mouseUp); //Listen for mouse up on the stage,in case the finger/mouse moved off of the button accIDentally when they release.    addEventListener(Event.ENTER_FRAME,tick); //while the mouse is down,run the tick function once every frame as per the project frame rate}function mouseUp(e:Event):voID {    removeEventListener(Event.ENTER_FRAME,tick);  //stop running the tick function every frame Now that the mouse is up    stage.removeEventListener(MouseEvent.MOUSE_UP,mouseUp); //remove the Listener for mouse up}function tick(e:Event):voID {    //do your movement}

另外,您可能希望使用touch事件,因为它为多点触控提供了更大的灵活性.虽然如果你只是允许在任何给定时间按下一个项目,这不是问题.

要做到这一点,只需在文档类中添加Multitouch.inputMode = MultitouchinputMode.touch_POINT,然后用适当的触摸事件替换MouseEvent侦听器:

MouseEvent.MOUSE_DOWN变为:touchEvent.touch_BEGINMouseEvent.MOUSE_UP变为:touchEvent.touch_END

总结

以上是内存溢出为你收集整理的AS3按住按钮时连续运行代码 – 适用于iOS / Android的Air全部内容,希望文章能够帮你解决AS3按住按钮时连续运行代码 – 适用于iOS / Android的Air所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1071301.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存