可動キャラクターとタイルベースのグラフィックスとゲーム ロジックを採用するプロトタイプを Java で作成しました。各レベルのレイアウトは 10x10 の 2D 配列に格納されます。次のコードを使用して、プレーヤーが「1」(空の) タイルと衝突しているかどうかを検出すると、プレーヤーが配列内の最後の「1」タイルと衝突している場合にのみ正の値が返されます。これはなぜですか? この方法が非常に非効率的であることは理解しています。
for(int r = 0; r < levArray.length; r++) {
for(int c = 0; c < levArray[0].length; c++) {
if(levArray[r][c] == 1) {
if(px >= r*64-9 && px <= (r+1)*64+11 && py >= c*64-30 && py <= (c+1)*64+30) {
isColliding = true;
} else {
isColliding = false;
}
}
}
}