精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-10-22
http://www.3geye.net/bbs/frame.php?frameon=yes&referer=http%3A//www.3geye.net/bbs/viewthread.php%3Ftid%3D301 一个MIDlet应用程序通过调用Canvas方法来探测哪些键盘代码映射到运行的应用程序中的抽象游戏动作: public static int getGameAction(int keyCode); Canvas类定义抽象游戏动作集:UP、DOWN、LEFT、RIGHT、FIRE等等。 游戏开发者应该知道MIDP 1.0规范中的一个问题。这个类定义了转化键盘代码到游戏动作的方法,同样也定义了转化游戏动作到键盘代码的方法。 public int getGameAction(int keyCode) 方法getKeyCode(int gameAction)可能会导致一些问题,因为它只能返回基于游戏动作的一个键盘代码,即使MIDP 1.0允许超过一个键盘代码被实现。在Nokia手机中,个别的一些键盘代码被映射到相同的游戏动作,比如"UP键"和"2键"都被映射为向上的游戏动作。而这个方法只能返回其中之一;返回的值是特定的实现。然而,如果方法getGameAction(int KeyCode)使用"UP键"和"2键"的键盘代码作为参数,这个方法将返回正确的向上的游戏动作。下面来看一个不好的例子,以加深我们的印象: //不好的例子,不要这么做:
下面是更好的解决方案: class TetrisCanvas extends Canvas {
自:yesky.com
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-10-23
不知道当初为什么要搞个getKeyCode方法出来,用起来又不通用
|
|
返回顶楼 | |
发表时间:2007-10-23
哈哈。去问下sun
|
|
返回顶楼 | |
浏览 6026 次