1
让我先说我是一个完全的新手,我正在上课,我们的任务之一是做一个基本的比赛游戏。我们可以使用我们发现的任何脚本,所以我选择了gamequery。前提是球员是完全自动化的,并且会在时间的x%时间内完成,剩下的时间是y%。我使用了gamequery tutorial space游戏作为一种指导,但是当我正在处理移动和碰撞时,我的代码非常缓慢,特别是所有背部移动。游戏冲突问题
function Movement(){
movetwo = Math.random();
$(".obstacle").each(function(){
var collided = $(this).collision("#player2Body,."+$.gQ.groupCssClass);
if(collided.length > 0){
$("#player2").x($("#player2").x()-2);
}
var collided2 = $(this).collision("#playerBody,."+$.gQ.groupCssClass);
if(collided2.length > 0){
$("#player").x($("#player").x()-2);
}
});
if (movetwo <= twol) {
$("#player2").y($("#player2").y()+2);
}
else if ((movetwo > twol) && (movetwo <= (twol + twor))){
$("#player2").y($("#player2").y()-2);
}
else {
$("#player2").x($("#player2").x()+2);
}
moveone = Math.random();
if (moveone <= twol) {
$("#player").y($("#player").y()+2);
}
else if ((moveone > twol) && (moveone <= (twol + twor))){
$("#player").y($("#player").y()-2);
}
else {
$("#player").x($("#player").x()+2);
}
}
我知道有一种方法来检测移动之前的碰撞,但我真的不知道如何实现它,因为这些移动是随机的。开关会更快吗?奇怪的是,它显示与所有的障碍物碰撞,但是其中有三个障碍物,并且由于某种原因,无论它们被随机放置在哪里,它都会忽略这些障碍物。我认为我比我的技能水平权证更多,所以任何帮助将不胜感激。
谢谢。我会尝试。我已经看过关于碰撞覆盖的文档,但它并没有真正显示我是如何有点失落,它是否像var collided = $(this).collision(“。obstacle”,。“+ $。gQ。 groupCssClass);以及如何将其发送给玩家x和y? – flatty
看起来像这样: $(“#”+ player.id).collision(“。obstacle”,。“+ $。gQ.groupCssClass, {x:player.nextX,y:player.nextY}); –
非常感谢。这对我有很大的帮助。 – flatty