Jquery GameQuery冲突检测无法正常工作

Jquery GameQuery冲突检测无法正常工作,jquery,jquery-plugins,gamequery,Jquery,Jquery Plugins,Gamequery,下面是我的代码。碰撞实际上是注册和执行的,但只有当你的飞船在屏幕的右边缘,并且一个怪物在你身后时。这毫无意义,我快疯了。请帮忙 演示: 它输出游戏区域下方的任何碰撞,包括导弹和敌人的坐标。另外,请随意大笑,这只是gamequery教程,添加了一些风味和装饰编辑:而且,我知道,资产是巨大的。只是为了测试。抱歉,加载时间太长了 $.playground().registerCallback(function () { $(".playerMissiles")

下面是我的代码。碰撞实际上是注册和执行的,但只有当你的飞船在屏幕的右边缘,并且一个怪物在你身后时。这毫无意义,我快疯了。请帮忙

演示: 它输出游戏区域下方的任何碰撞,包括导弹和敌人的坐标。另外,请随意大笑,这只是gamequery教程,添加了一些风味和装饰编辑:而且,我知道,资产是巨大的。只是为了测试。抱歉,加载时间太长了

        $.playground().registerCallback(function () {

            $(".playerMissiles").each(function () {
                //Test for collisions
                var collided = $(this).collision(".enemy,#enemies");
                if (collided.length > 0) {
                    var missilenum = $(this).attr("id");
                    var missilecoords = $(this).css("left") + ", " + $(this).css("top");
                    //An enemy has been hit!
                    collided.each(function () {
                        $("#lblCollisionLog").append(missilenum + " (" + missilecoords + ") collided with " + $(this).attr("id") + " (" + $(this).css("left") + ", " + $(this).css("top") + ") <br>");
                        if ($(this)[0].enemy.damage()) {
                            $(this).setAnimation(enemies[0]["explode"], function (node) { $(node).remove(); });
                            $(this).css("width", 99);
                            $(this).removeClass("enemy");
                        }
                    })
                    $(this).setAnimation(missile["playerexplode"], function (node) { $(node).remove(); });
                    $(this).css("width", 99);
                    $(this).css("height", 99);
                    $(this).css("top", parseInt($(this).css("top")) - 7);
                    $(this).removeClass("playerMissiles");
                }

            });
        }, 10);
$.playerly().registerCallback(函数(){
$(“.playerMissiles”)。每个(函数(){
//碰撞试验
var collide=$(this.collion(“.敌军,#敌军”);
如果(碰撞。长度>0){
var missilenum=$(this.attr(“id”);
var misselecoords=$(this.css)(“left”)+,“+$(this.css”(“top”);
//敌人被击中了!
冲突。每个(函数(){
$(“#lblCollisionLog”).append(missilenum+”(“+missilecoords+”)与“+$(this.attr(“id”)+”(“+$(this.css(“左”)+”,“+$(this.css(“顶”)+”
”)冲突; 如果($(此)[0]。敌方.damage()){ $(this).setAnimation(敌人[0][“爆炸”],函数(节点){$(节点).remove();}); $(this.css(“宽度”,99); $(此).removeClass(“敌人”); } }) $(this).setAnimation(导弹[“playeexplode”],函数(节点){$(节点).remove();}); $(this.css(“宽度”,99); $(this).css(“高度”,99); $(this.css(“top”),parseInt($(this.css(“top”))-7); $(this.removeClass(“playerMissiles”); } }); }, 10);
我刚刚发现这是因为我使用了不推荐的更新CSS的方法(selector.CSS(“left”,posx);)而不是新方法(selector.x)来设置x,y坐标

它现在工作正常