a11s.Net

年纪大了,脑子不好用了,需要记录写东西了

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

就是输入控制器,或者输入设备控制管理器,或者游戏控制控制器

问题来源:

游戏输入貌似是一个简单的问题,你可以用DirectInput test所有的按键,然后筛选,最后生成序列,检测输入流....如此之类这般.同样的,除了键盘之外还能应用到其他输入设备,比如手柄之类(鼠标比较特殊) 进行了N次这样的过程之后,是不是感觉这些东西其实可以单独分离出来的.为什么不做一个组件通过一些配置文件让每个程序都可以应用呢?

Er... 看看我们需要一个什么样子的控制器:

基本功能:

1 可以支持多种设备,键盘,手柄,鼠标..而且不仅仅是一个player,多个player之间互不影响

2 定义物理键盘->游戏逻辑按键 的对应.就像现在流行的模拟器MAME KAWAKS 之类,可以自定义按键对应

3 独立的线程处理输入操作.不至于因为渲染引擎消耗过度导致你输入跟不上.

高级功能:

4 配置ActionScript,允许类似KOF那样的游戏添加组合命令

5 定义好接口,甚至允许网络命令来实现输入,或者其他硬件,比如MusicGame中常见的键盘.

6 实现bufferLogging,就是说允许保存replay所需的输入信息.用过WarCraft3的W3GMaster吗?可以用来分析很多数据.有些游戏基于Command模式的,完全可以跟它一起用来记录Replay!

前景:

几乎只要是个游戏就要处理输入问题吧.而且这个东西可以封装底层.你编写代码的时候只要接受传递过来的动作消息就好.岂不是大大的节约了做同样东西的时间?而且,如果你对它的某些功能觉得不足(虽然我已经觉得它足够强大了)可以直接读取它的公开的物理buffer或者逻辑buffer,或者利用它提供的接口自己做输入.

看起来是个好东西吗?有人感兴趣否?如果你对此感兴趣,那么可以联系安徒生的Sil.yo.找他询问详细信息.

 

posted on 2006-05-23 18:37  a11s.net  阅读(346)  评论(0编辑  收藏  举报