2人玩的游戏
在同一游戏
用同一键盘
但是同时按下的会有冲突
如何解决啊

解决方案 »

  1.   

    不太可能,
    为什么因为这是因为WIN的原程序的一个消息队列好像就是来一个消息,处理一下,再处理下一个消息,除非用多进程来同时处理消息,就是说收到键盘消息后看看到底由进程一处理还是进程二处理,
    但是只要用到多线程就要考虑到线程安全问题,
    那个问题好像比这个问题还复杂,
    想想一下两个线程同时读取一些内存区域时会发生的情况吧.
      

  2.   

    >>不,两人双打,键盘的侦测时间毫秒级的,不会出现冲突。即便按着不松手也不会出现冲突会冲突的,游戏中的player1出拳5秒钟,player2出拳4秒钟player1按了键盘出拳,一秒后player2也按了键盘出拳如果你在同一个线程里处理的话,你会发现,player1的拳头打完了,player2的拳头才出来....一定要使用多线程的....而且还需要一个优秀的线程调度算法...
      

  3.   

    这是因为用的是Windows的键盘监测API,最大只能判定40ms级别8个按键(每个按键5ms),就是说如果按键时间间隔小于5ms或者同时按下8个以上键就不能监测到了。如果用汇编的BIOS中断处理就不会有这种问题了。