我正在尝试用Javascript制作贪吃蛇游戏,但我在碰撞检测方面遇到了困难。到目前为止,我已经尝试了各种方法,但最终只能存储每个段的位置,然后在下一帧动画之前检查是否有任何重复。不幸的是,这种方法也没有成功。
也许这是由于我对JS如何处理数组的误解。有一段时间我使用了
这是实时演示:http://jsfiddle.net/AScYw/2/ 这是更易于阅读的代码:http://pastebin.com/ygj73me6 相关代码位于snake对象中的
也许这是由于我对JS如何处理数组的误解。有一段时间我使用了
if(x in y)
,但据我所知,它返回的是数组中是否存在完全相同的对象。这是实时演示:http://jsfiddle.net/AScYw/2/ 这是更易于阅读的代码:http://pastebin.com/ygj73me6 相关代码位于snake对象中的
collide
函数中。this.collide = function(){
for(var z=0; z<this.positions.length-1; z++){
for(var q=z+1; q<this.positions.length-1; q++){
return this.positions[z][0] == this.positions[q][0] && this.positions[z][1] == this.positions[q][1];
}
}