在同一游戏
用同一键盘
但是同时按下的会有冲突
如何解决啊
22 个解决方案
#1
呵呵,不会,关注,以前我玩小游戏里也遇到同样的难题。
建议你把那个赶走!:)
建议你把那个赶走!:)
#2
up
#3
很简单啊,买一个手柄好了:P
#4
怎么冲突呢?
应该统一进入队列吧?
应该统一进入队列吧?
#5
up
#6
我没有做过
提供个思路
不要在键盘事件内处理操作
用多线程
提供个思路
不要在键盘事件内处理操作
用多线程
#7
是啊,多线程!!!
#8
*飞车两人用键盘也有这个缺点,,,,
他们的公司可不小,,。。。。。。。。。。
他们的公司可不小,,。。。。。。。。。。
#9
不太可能,
为什么因为这是因为WIN的原程序的一个消息队列好像就是来一个消息,处理一下,再处理下一个消息,除非用多进程来同时处理消息,就是说收到键盘消息后看看到底由进程一处理还是进程二处理,
但是只要用到多线程就要考虑到线程安全问题,
那个问题好像比这个问题还复杂,
想想一下两个线程同时读取一些内存区域时会发生的情况吧.
为什么因为这是因为WIN的原程序的一个消息队列好像就是来一个消息,处理一下,再处理下一个消息,除非用多进程来同时处理消息,就是说收到键盘消息后看看到底由进程一处理还是进程二处理,
但是只要用到多线程就要考虑到线程安全问题,
那个问题好像比这个问题还复杂,
想想一下两个线程同时读取一些内存区域时会发生的情况吧.
#10
对,用多线程
#11
不,两人双打,键盘的侦测时间毫秒级的,不会出现冲突。即便按着不松手也不会出现冲突
#12
>>不,两人双打,键盘的侦测时间毫秒级的,不会出现冲突。即便按着不松手也不会出现冲突
会冲突的,
游戏中的player1出拳5秒钟,player2出拳4秒钟
player1按了键盘出拳,一秒后player2也按了键盘出拳
如果你在同一个线程里处理的话,你会发现,player1的拳头打完了,player2的拳头才出来....
一定要使用多线程的....而且还需要一个优秀的线程调度算法...
会冲突的,
游戏中的player1出拳5秒钟,player2出拳4秒钟
player1按了键盘出拳,一秒后player2也按了键盘出拳
如果你在同一个线程里处理的话,你会发现,player1的拳头打完了,player2的拳头才出来....
一定要使用多线程的....而且还需要一个优秀的线程调度算法...
#13
使用dx input
#14
键盘问题,我用二手商那买的东芝键盘没出现过这样的问题,用别的键盘就有这样的冲突。
#15
*飞车有这个问题,不过不严重~
拳皇97比较严重~
拳皇97比较严重~
#16
大哥,
键盘的问题啦,
换键盘!!!!!!!!!!!
键盘的问题啦,
换键盘!!!!!!!!!!!
#17
楼上这位大哥真是厉害!
我有一招不知楼主是否愿意一试:
很简单嘛……机器上接2个键盘啊!对吧!哈哈!
搞不好还可以4个人打啊!
我有一招不知楼主是否愿意一试:
很简单嘛……机器上接2个键盘啊!对吧!哈哈!
搞不好还可以4个人打啊!
#18
在说键盘啊!!!!!
#19
跟软件没多大关系。
要么买个手柄,要么装两个键盘,要么把那蹭机子的哥们儿一脚踹开。
另:本人只对第一个建议负责。
#20
怎么个冲突?用不同的键不行吗?
#21
对,打拳皇是有这问题.
#22
这是因为用的是Windows的键盘监测API,最大只能判定40ms级别8个按键(每个按键5ms),就是说如果按键时间间隔小于5ms或者同时按下8个以上键就不能监测到了。如果用汇编的BIOS中断处理就不会有这种问题了。
#1
呵呵,不会,关注,以前我玩小游戏里也遇到同样的难题。
建议你把那个赶走!:)
建议你把那个赶走!:)
#2
up
#3
很简单啊,买一个手柄好了:P
#4
怎么冲突呢?
应该统一进入队列吧?
应该统一进入队列吧?
#5
up
#6
我没有做过
提供个思路
不要在键盘事件内处理操作
用多线程
提供个思路
不要在键盘事件内处理操作
用多线程
#7
是啊,多线程!!!
#8
*飞车两人用键盘也有这个缺点,,,,
他们的公司可不小,,。。。。。。。。。。
他们的公司可不小,,。。。。。。。。。。
#9
不太可能,
为什么因为这是因为WIN的原程序的一个消息队列好像就是来一个消息,处理一下,再处理下一个消息,除非用多进程来同时处理消息,就是说收到键盘消息后看看到底由进程一处理还是进程二处理,
但是只要用到多线程就要考虑到线程安全问题,
那个问题好像比这个问题还复杂,
想想一下两个线程同时读取一些内存区域时会发生的情况吧.
为什么因为这是因为WIN的原程序的一个消息队列好像就是来一个消息,处理一下,再处理下一个消息,除非用多进程来同时处理消息,就是说收到键盘消息后看看到底由进程一处理还是进程二处理,
但是只要用到多线程就要考虑到线程安全问题,
那个问题好像比这个问题还复杂,
想想一下两个线程同时读取一些内存区域时会发生的情况吧.
#10
对,用多线程
#11
不,两人双打,键盘的侦测时间毫秒级的,不会出现冲突。即便按着不松手也不会出现冲突
#12
>>不,两人双打,键盘的侦测时间毫秒级的,不会出现冲突。即便按着不松手也不会出现冲突
会冲突的,
游戏中的player1出拳5秒钟,player2出拳4秒钟
player1按了键盘出拳,一秒后player2也按了键盘出拳
如果你在同一个线程里处理的话,你会发现,player1的拳头打完了,player2的拳头才出来....
一定要使用多线程的....而且还需要一个优秀的线程调度算法...
会冲突的,
游戏中的player1出拳5秒钟,player2出拳4秒钟
player1按了键盘出拳,一秒后player2也按了键盘出拳
如果你在同一个线程里处理的话,你会发现,player1的拳头打完了,player2的拳头才出来....
一定要使用多线程的....而且还需要一个优秀的线程调度算法...
#13
使用dx input
#14
键盘问题,我用二手商那买的东芝键盘没出现过这样的问题,用别的键盘就有这样的冲突。
#15
*飞车有这个问题,不过不严重~
拳皇97比较严重~
拳皇97比较严重~
#16
大哥,
键盘的问题啦,
换键盘!!!!!!!!!!!
键盘的问题啦,
换键盘!!!!!!!!!!!
#17
楼上这位大哥真是厉害!
我有一招不知楼主是否愿意一试:
很简单嘛……机器上接2个键盘啊!对吧!哈哈!
搞不好还可以4个人打啊!
我有一招不知楼主是否愿意一试:
很简单嘛……机器上接2个键盘啊!对吧!哈哈!
搞不好还可以4个人打啊!
#18
在说键盘啊!!!!!
#19
跟软件没多大关系。
要么买个手柄,要么装两个键盘,要么把那蹭机子的哥们儿一脚踹开。
另:本人只对第一个建议负责。
#20
怎么个冲突?用不同的键不行吗?
#21
对,打拳皇是有这问题.
#22
这是因为用的是Windows的键盘监测API,最大只能判定40ms级别8个按键(每个按键5ms),就是说如果按键时间间隔小于5ms或者同时按下8个以上键就不能监测到了。如果用汇编的BIOS中断处理就不会有这种问题了。