游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1224|回复: 3

多键处理

[复制链接]

1

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2006-5-6 05:40:00 | 显示全部楼层 |阅读模式
想实现QQ堂游戏里的多键效果:4个方向键,当按下3个键后,再按下第4个键就是4起作用。意思是要最后按下的键起作用(这个时候可能有其他按着的键)。请大家帮忙想想 [em17] [em17] [em17] [em17]

1

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
 楼主| 发表于 2006-5-7 11:53:00 | 显示全部楼层

Re:多键处理

没人理会我啊?

12

主题

124

帖子

124

积分

注册会员

Rank: 2

积分
124
QQ
发表于 2006-5-7 12:34:00 | 显示全部楼层

Re:多键处理

依次查询各个键的状态,检测到按下状态后不要立即返回,而是继续检测其它键的状态。
就像这样:



  1. // 假设你的按键顺序是 Up, Down, Left, Right
  2. if(Up_Press()) { nKey = 1; }
  3. if(Down_Press()) { nKey = 2; }
  4. if(Left_Press()) { nKey = 3; }
  5. if(Right_Press()) { nKey = 4; }
  6. switch(nKey)
  7. {
  8. case 1:  do_Up(); break;
  9. case 2: do_Down(); break;
  10. case 3: do_Left(); break;
  11. case 4: do_Right(); break;
  12. }

复制代码


不知道能否解决楼主的问题。

37

主题

180

帖子

180

积分

注册会员

Rank: 2

积分
180
发表于 2006-5-7 17:19:00 | 显示全部楼层

Re: 多键处理

@_@ 其实可能性太多了

1.dxinput 取得keybuffer
他用loop 去找到第一个就return

2.一直按着状态没有更新

3.在key_up时才处理


如果你要多键不是取回buffer
buffer[vk_left] && buffer[vk_right] 就可以判断了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-24 10:07

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表