jQuery Collision Plugin for game character/div

问题描述:

我知道有几个类似的问题,但不幸的是,他们还没有完全解决我的问题......据我所知。jQuery Collision Plugin for game character/div

在过去的几个晚上,每当我有空闲时间,我一直在创造一个小型的游戏,你可以看到一个片段/示例here(WASD移动 - 注意:它不是交叉浏览器兼容)

我使用的是一个名为jQuery Collision的插件,理论上它完全符合我的要求,但给出的例子是用鼠标拖动对象完成的,而且我遇到了一些麻烦将其添加到我的实验中。

我试图在玩家与障碍物发生碰撞时将此添加到我的'W'键中,应该移除障碍物。

if ($("#player").collision("#obstacle")) { 
     $("#obstacle").remove(); 
    } 

目前的障碍正在被删除,但出乎意料的有些时候,如果放置障碍物,然后按W(上)箱子被删除,即使球员和障碍还没有相撞下方的播放器。

我也试过,我在演示的见过其他的方式,我也没能工作:

var collided = $("#player").collision("#obstacle"); 

    if (collided.length > 0) { 
     $("#obstacle").remove() 
    } 

任何人都可以摆脱什么,我做错了一些轻?

注意

我知道有插件,有像gameQuery,所以请不要推荐我使用,而不是:)

尝试做处理拖动插件:

http://sourceforge.net/projects/jquidragcollide/

原来患有这样一个事实,即当您拖动时,div的当前位置不会更新,直到您放开。它本意是一个静态碰撞检查器。如果您在实例仔细看:

http://eruciform.com/jquerycollision/

......你会发现,当你拖动时,“重叠”的背后是一个框架。为了不对模块的预期用途(即拖动)做出假设,我将其留作使用jQuery认为div所处的任何坐标。这就是为什么我创建了拖动添加插件。它还有很多其他的花里胡哨的东西,比如在拖拽过程中的“避免碰撞”。