关于游戏中精灵走路的细节问题。。

lhy6962 2009-05-25 09:24:54
使用getKeyStates()方法放在run()里面
可以实现在一直按住按键的情况下
持续走路并且循环切换走路的状态帧
但是有一个问题是
我想实现当每次按键放下的时候
精灵都是在站立状态的那帧
需要使用什么方法
...全文
110 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuyan87101 2009-05-26
  • 打赏
  • 举报
回复
过来帮顶一下,呵呵
kf156 2009-05-26
  • 打赏
  • 举报
回复
这里有个例子,是用keyPressed等方法来实现的
http://download.csdn.net/source/987436
kf156 2009-05-26
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 lhy6962 的回复:]
不好意思
key[0] = key[2];
key[1] = key[3];
key[2] = 0;

这一段看不懂是什么意思
[/Quote]

如果按键正好发生在当前循环逻辑处理已经结束的话
那按键就会无效了。
所以key[2]的作用就是临时保存一循环的键值
lhy6962 2009-05-26
  • 打赏
  • 举报
回复
不好意思
key[0] = key[2];
key[1] = key[3];
key[2] = 0;

这一段看不懂是什么意思

yanglei9999 2009-05-26
  • 打赏
  • 举报
回复
学习了!
lhy6962 2009-05-26
  • 打赏
  • 举报
回复
但是如果用getKeyStates()==0这样去判断的话
当我什么都没按的时候
不是所有的按键都等于0么
那我精灵的方向不是判断不了了
还有keyReleased这个方法具体怎么用
我不是很清楚
能不能详细解释点
最好是有个例子
不好意思
我是新手
问题比较多
kf156 2009-05-25
  • 打赏
  • 举报
回复

int keyCode = getKeyStates();
if ((keyCode & UP_PRESSED) != 0&&(keyCode & RIGHT_PRESSED) != 0)
sprite.move(1,-1);
yanglei9999 2009-05-25
  • 打赏
  • 举报
回复
那如果要实现 ↑→ 一起按下往斜上走的话,应该怎么办?
kf156 2009-05-25
  • 打赏
  • 举报
回复
是的。
1. keyReleased,按键释放时会掉这方法。

2.getKeyStates(),如果是你用这个方法的话,就当getKeyStates()==0时,就是没按键的时候。
lhy6962 2009-05-25
  • 打赏
  • 举报
回复
是不是keyReleased这个方法
Canvas类与按键相关的方法我都不太清楚
能不能麻烦说清楚点
谢谢
kf156 2009-05-25
  • 打赏
  • 举报
回复
当你按键放开的时候,将精灵的帧设定成站立的那帧

13,100

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧