私はjsの完全な初心者であり、クラスを受講していて、私たちの課題の1つは基本的なレースゲームを作ることです。見つかったスクリプトはどれでも使用できるので、gamequery を選択しました。プレーヤーは完全に自動化されており、x% の確率でまっすぐになり、y% の確率で正しく、残りは離れることを前提としています。gamequery チュートリアル スペース ゲームを一種のガイドとして使用しましたが、動きと衝突を扱っていると、特に前後の動きでコードが非常に遅くなります。
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);
}
}
移動前に衝突を検出する方法があることは知っていますが、移動がランダム化されているため、それを実装する方法が本当にわかりません。切り替えたほうが早い?また、奇妙なことに、私が配置した約 3 つの障害物を除くすべての障害物との衝突が示され、何らかの理由で、ランダムに配置された場所に関係なく、それらのいくつかを無視します。私は自分のスキルレベルよりも多くのことをしたと思うので、助けていただければ幸いです.