我正试图用 collision()处理游戏中的碰撞,但我不明白发生了什么。以下是摘要:
$("#screen").playground({height: PLAYGROUND_HEIGHT, width: PLAYGROUND_WIDTH});
$.playground().addSprite("wall",{animation:anim_mur, posx: 0, posy: -100, width: PLAYGROUND_WIDTH, height: PLAYGROUND_HEIGHT+300})
.addSprite("table",{animation:anim_tableau, posx: 459, posy: 122, width: PLAYGROUND_WIDTH, height: PLAYGROUND_HEIGHT});
$.playground().addGroup('enemies', {width: 320, height: 280}).end()
.addSprite("sp_bed",{animation:anim_bed, posx: PLAYGROUND_WIDTH-400, posy: 210, width: 320, height: 280})
然后我处理那里的碰撞
$("#sp_viseur").collision("#enemies").each(function(){
alert('test');
});
我在另一个功能中用精灵填充“敌人”组。 我希望在“sp_viseur”精灵与“敌人”组的精灵碰撞时调用该函数。但该函数永远不会被调用! 我跑了几个测试,所以我有疑问:“碰撞”功能如何工作?它是使用css属性(left,top ...)还是gamequery属性(posx,posy)?
感谢。
PS:“sp_viseur”像其他精灵一样被添加到操场上。
答案 0 :(得分:1)
很抱歉,我意识到我的回答并不完全符合您的要求:
.collision()不会返回与群组的碰撞,因此您必须向.collision选择器添加一个类,该类将应用于所有敌人的精灵,例如.collision('#enemy,.enemies')。 Gamequery使用posx和posy属性,但是如果你使用.x()和.y()函数,它们应该同步。