1

我目前正在尝试制作基于 HTML5 和 Javascript 的移动多人游戏。我使用 jQuery 插件“touchwipe”来处理不同 div 中的滑动事件,如下所示:

$('#play1').touchwipe({
            wipeLeft:   function(){ if(d1!="right") d1 = "left"; },
            wipeRight:  function(){ if(d1!="left") d1 = "right" },
            wipeUp:     function(){ if(d1!="up") d1 = "down" },
            wipeDown:   function(){ if(d1!="down") d1 = "up"}               
        })  

$('#play2').touchwipe({
            wipeLeft:   function(){ if(d2!="right") d2 = "left" },
            wipeRight:  function(){ if(d2!="left") d2 = "right"   },
            wipeUp:     function(){ if(d2!="up") d2 = "down"  },
            wipeDown:   function(){ if(d2!="down") d2 = "up" }
        })   

当玩家不同时滑动时效果很好但是如果两个玩家同时滑动我该怎么做才能调用事件(例如玩家 1 向左滑动而玩家 2 同时向右滑动所以 d1 = “左”和d2 =“右”)?

4

1 回答 1

0

手机本身不处理多个滑动手势。您可以通过将两根手指放在触摸屏上来了解其工作原理。向 1 个方向滑动 1 个,另一个向相反方向滑动。没有队列可以对事件进行排序,因此只有捕获硬件的人才会中断。因此,第二个事件甚至永远不会在硬件级别触发,因此它无法在软件中排队。

将游戏扩展到 2 个设备,或使用点击事件(更容易封装和排队)可能会更好。

于 2013-09-12T15:55:53.403 回答