つまり、基本的に私が持っているのはcreateBoxBoundary
、プレーヤーの位置が特定の制限内にある場合に境界変数を true に設定する という関数です。かなり簡単です。ただし、メインのゲーム ループでこの関数を複数回呼び出すと、最後に呼び出された関数のみが機能します。以下は私のコードのサンプルです
//It should be noted the player deminsions are 40x80
function createBoxBoundary(x,y,width,height){
//right boundaries
if(playerXPos + 40 == x && playerYPos + 80 >= y && playerYPos < y + height){
boundaryRight = true;
} else{boundaryRight = false;}
//bottom boundaries
if(playerYPos == y + height && playerXPos + 40 >= x && playerXPos <= x + width){
boundaryTop = true;
} else{boundaryTop = false;}
//left boundaries
if(playerXPos == x + width && playerYPos + 80 >= y && playerYPos <= y + height){
boundaryLeft = true;
} else{boundaryLeft = false;}
//bottom boundaries
if(playerYPos + 80 == y && playerXPos + 40 >= x && playerXPos < x + width){
boundaryBottom = true;
} else{boundaryBottom = false;}
}
また、完全なゲーム コードでフィドルを設定しました。また、javascript で衝突/境界を行うためのより良い方法についてアドバイスがあれば、私もそれを受け入れます。どんな助けでも大歓迎です!