游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2501|回复: 4

一个关于键盘输入的问题

[复制链接]

1

主题

3

帖子

122

积分

注册会员

Rank: 2

积分
122
发表于 2010-8-14 23:11:00 | 显示全部楼层 |阅读模式
我想要试着做一个格斗游戏 以学习游戏编程
现在有一个比较棘手的问题
人物跑动的输入为连续二打击打 D
这个输入计算机如何识别?

进一步说,如何让计算机识别复杂的输入序列?这对于格斗游戏是非常平凡的

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2010-8-15 00:53:00 | 显示全部楼层

Re:一个关于键盘输入的问题

随便。
比如设个时间量。
最开始的方向键是空白。

如果我按了“D”,程序先判断time是否为0。
{如果time为0,则状态=走,time=0.5秒。走的时候time持续扣。
如果time为正,则状态=跑,time=0.0秒。跑的时候time不扣。}

如果不按“D”,则time持续扣。

1

主题

266

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
发表于 2010-8-16 09:21:00 | 显示全部楼层

Re:一个关于键盘输入的问题

设置个输入缓冲区
用另一个解释程序读取缓冲区内容,解释并激活相关动作

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2010-8-16 12:28:00 | 显示全部楼层

Re:一个关于键盘输入的问题

比如街头霸王的“HA DOU KEN”(波动拳)

先申请16个字节的内存空间,用来保存按键序列。
最开始的方向是“空”。
当玩家按“下”,程序会让角色蹲下,并且记录“当前方向是下”,并且把“下”保存到16字节的第一字节。
当玩家一直按着“下”不放,程序会让角色一直蹲下,但是因为当前方向不变,所以不保存序列。
当玩家按“前下”,程序会让玩家蹲下,并且记录“当前方向是前下”,并把“前下”保存到第二字节。
当玩家按“前”,程序让玩家向前走,并且记录“当前方向为前”,并把“前”保存到第三字节。
当玩家按“拳”,程序判断序列的前三字节是否为“下”“前下”“前”。
如果是,就发动HA DOU KEN。
如果不是,序列清空。

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2010-8-16 12:29:00 | 显示全部楼层

Re:一个关于键盘输入的问题

其实就是:
如果当方向变了就保存新的,不变就不保存。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-7 19:44

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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