J2ME开发笔记-键盘响应
敬业的IT人
互联网
佚名
2008-1-10 16:56:40
J2ME开发笔记-键盘响应
不同的机型对于键盘事件的响应不一样。经过我的测试,Nokia 7210,3100一次只能接受一个按键信息。(我写了个测试程序,发现如果一个键被按下后没有松开,则KeyPressed事件不会再产生,即其他键的按下操作无效)所以,用缓冲处理控制精灵运动时,如果规定只能四方向运动。如果up已按下,再按下left,精灵的运动方向并不会改变。不过将按键缓冲。按下up,按下left不释放,松开up---精灵就会向左运动。(在松开up后产生了left的KeyPressed事件!奇怪吗?松开up后我并没有进行"按下"left这个动作--left键在up松开前就被按下了且没有松开。似乎机器一直在监测键盘上各键的状态,并且有一个等待队列。)
在wtk的标准模拟器上就不同了。它可以接受多个按键“同时”按下的事件。所以如果用四个并列的if处理,精灵是可以斜着运动的。如果用if else处理,则如果已经按下一个方向键,然后再按下另一个,是否能改变方向受到if else 语句中顺序的影响。即,如果是 if(up) else if(left),则会先检查up键,所以如果已经按下了left,再按up是可以向上运动的,反过来就不行了。(这个自然:)
其它的机型由于手头没有机器,我也没试过。应该也是如此吧。
如果想和我探讨J2ME开发的各种问题,欢迎email至 mobiledev@163.com
- 最新文章
- Hibernate中PO的equals()和hashCode..[01-10]
- ★★★ 检查应用程序的版本号 ★★★[01-10]
- ★ 你知道javascript里数组的最大长..[01-10]
- 实现EMAIL本页功能[01-10]
- 如果你想打开一个新页面时给浏览者一些惊喜的话,试试这个[01-10]
- javascript 实现日历式日期选择[01-10]
- 相关文章
