iloveas 发表于 2018-12-14 10:29:58

【9RIA—iloveas】— AS3游戏实用技巧(2):一行代码远离数字键盘上NumLock的困扰

本帖最后由 TKCB 于 2019-3-19 09:08 编辑

转载:9RIA游戏开发者社区(天地会)
作者:iloveas(大神)


总目录:[原创]AS3游戏开发实用技巧汇总



昨天我给大家分享了键盘操作与中文输入法冲突的解决方案,该方法主要针对键盘中的英文按键。今天我再来讲讲右侧的数字键盘,在双人游戏中,2P(玩家2)的各种功能操作(如发射、出拳、防御、跳跃、使用技能等)一般都会集中在这一区域。

虽然这类按键一般不易受输入法的影响,但它们却存在另一个蛋疼的问题。如果数字键盘上方的NumLock灯处于熄灭的状态(不小心按了NumLock键,系统异常,一些软件的设置都有可能导致该灯被灭掉),那么问题就来了:原有的数字按键操作将会失效,因为此时的KeyboardEvent.keyCode和charCode都会被改掉(5和加减乘除这几个键除外)。
更蛋疼的是,如果游戏中用到了方向键,那么2468这四个数字键将会触发角色移动,此时玩家将会更加抓狂,好比错将油门当作刹车一样,你懂的。
这个问题有办法解决么?答案是肯定的,核心代码也是一行,只是后续的处理要比输入法的问题稍稍复杂一些,现分析如下:**** Hidden Message *****

按照国际惯例,为了让更多的人看到,我又设置了回复可见。
有时间的话,iloveas会持续更新这样的一些小技巧,欢迎继续关注!

这是TKCB根据格美的代码进行的一个小练习(我觉得还不错):
http://www.11ria.com/forum.php?mod=viewthread&tid=1494

kasher 发表于 2019-12-6 20:45:58

看一看,学习下

yunjing 发表于 2020-5-8 11:14:17

学习学习,感谢分享
页: [1]
查看完整版本: 【9RIA—iloveas】— AS3游戏实用技巧(2):一行代码远离数字键盘上NumLock的困扰

感谢所有支持论坛的朋友:下面展示最新的5位赞助和充值的朋友……更多赞助和充值朋友的信息,请查看:永远的感谢名单

SGlW(66139)、 anghuo(841)、 whdsyes(255)、 longxia(60904)、 囫囵吞澡(58054)

下面展示总排行榜的前3名(T1-T3)和今年排行榜的前3名的朋友(C1-C3)……更多信息,请查看:总排行榜今年排行榜

T1. fhqu1462(969)、 T2. lwlpluto(14232)、 T3. 1367926921(962)  |  C1. anghuo(147)、 C2. fdisker(27945)、 C3. 囫囵吞澡(58054)