オブジェクト「ブロック」のインスタンスがたくさんあります。スプライトがブロックに接触したかどうかを確認するために、衝突検出を追加する必要があります。しかし、各レベルに約200のブロックがあるため、各コードをコピーして貼り付けて編集する必要があると、かなりの時間がかかります...ここでは衝突検出です。ループを作成してすべてのブロックを取得する方法はありますか?割り当てられ、値が変更されるため、たとえば、最初のブロックでは「block.bottomry」、2番目と3番目の「block2.bottomry」は「block2.bottomry」となり、すべてのブロックが次のようになります。なくなった。コードの一部は次のとおりです。
public void iscollided() {
// bottom right touching block?
if (sprite.bottomrx < block.bottomrx && sprite.bottomrx > block.bottomlx && sprite.bottomry < block.bottommy && sprite.bottomry > block.topry ){
Log.d(TAG, "Collided!!!!!!!!!!!!1");
}
// bottom left touching block?
if (sprite.bottomlx < block.bottomrx && sprite.bottomlx > block.bottomlx && sprite.bottomly < block.bottommy && sprite.bottomly > block.topry ){
Log.d(TAG, "Collided!!!!!!!!!!!!1");
}
// top right touching block?
if (sprite.toprx < block.bottomrx && sprite.toprx > block.bottomlx && sprite.topry < block.bottommy && sprite.topry > block.topry ){
Log.d(TAG, "Collided!!!!!!!!!!!!1");
}
//top left touching block?
if (sprite.toprx < block.bottomrx && sprite.toprx > block.bottomlx && sprite.topry < block.bottommy && sprite.topry > block.topry ){
Log.d(TAG, "Collided!!!!!!!!!!!!1");
}