我知道按键处理现在可以采用两种方式:借助MIDP1.0中的keyPressed()、 keyRepeated() 和keyReleased()或者借助MIDP2.0中GameCanvas.getKeyStates()方法得到系统的按键状态。
在网上也能搜到很多例子,但我发现了一个问题,在网上也搜不到什么相似的问题。我想问问大家是否也遇到了这种问题,也或者根本不是问题,而是我自己出错误了
public class gameCanvas extends GameCanvas implements Runnable{ public gameCanvas() {
//构造方法
super(true);
}public void keyPressed( ){
//获取手机按键
int keyState=getKeyStates();
//判断上下左右键是否被按下,每次移动2个像素的距离
if((keyState UP_PRESSED)!=0)
{
}
if((keyState DOWN_PRESSED)!=0)
{
}
……
}public void run() {
//无限循环检测键盘的输入
while(true)
{
keyPressed();
}
}}
可是这样并不能按照我所想要的移动,移动的距离忽大忽小,如果改一下覆盖keyPressed(int keyCode)方法就可以了,代码如下:
public gameCanvas() {
//构造方法
super(false);
}public void keyPressed(int keyCode ){
//获取手机按键
int keyState=getKeyStates();
//判断上下左右键是否被按下,每次移动2个像素的距离
if((keyState UP_PRESSED)!=0)
{
}
if((keyState DOWN_PRESSED)!=0)
{
}
……
}
如果这样改的话,我感觉就好像没有体现出MIDP2.0中GameCanvas.getKeyStates()方法的好处,再把一些不重要的代码改改就好像没使用这个方法一样。也或者就是我自己存在误区,存在一个大错误,希望各位看看帮我解决
在网上也能搜到很多例子,但我发现了一个问题,在网上也搜不到什么相似的问题。我想问问大家是否也遇到了这种问题,也或者根本不是问题,而是我自己出错误了
public class gameCanvas extends GameCanvas implements Runnable{ public gameCanvas() {
//构造方法
super(true);
}public void keyPressed( ){
//获取手机按键
int keyState=getKeyStates();
//判断上下左右键是否被按下,每次移动2个像素的距离
if((keyState UP_PRESSED)!=0)
{
}
if((keyState DOWN_PRESSED)!=0)
{
}
……
}public void run() {
//无限循环检测键盘的输入
while(true)
{
keyPressed();
}
}}
可是这样并不能按照我所想要的移动,移动的距离忽大忽小,如果改一下覆盖keyPressed(int keyCode)方法就可以了,代码如下:
public gameCanvas() {
//构造方法
super(false);
}public void keyPressed(int keyCode ){
//获取手机按键
int keyState=getKeyStates();
//判断上下左右键是否被按下,每次移动2个像素的距离
if((keyState UP_PRESSED)!=0)
{
}
if((keyState DOWN_PRESSED)!=0)
{
}
……
}
如果这样改的话,我感觉就好像没有体现出MIDP2.0中GameCanvas.getKeyStates()方法的好处,再把一些不重要的代码改改就好像没使用这个方法一样。也或者就是我自己存在误区,存在一个大错误,希望各位看看帮我解决
楼主【angelyrx】截止到2008-07-26 20:31:54的历史汇总数据(不包括此帖):
发帖的总数量:0 发帖的总分数:0 每贴平均分数:0
回帖的总数量:0 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:0 结贴的总分数:0
无满意结贴数:0 无满意结贴分:0
未结的帖子数:0 未结的总分数:0
结贴的百分比:---------------------结分的百分比:---------------------
无满意结贴率:---------------------无满意结分率:---------------------
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html