我有很多对象“块”的实例,我需要添加一个碰撞检测来查看我的精灵是否触及了一个块。但是必须复制、粘贴和编辑每个代码将花费很多时间,因为我将在每个级别上大约有 200 个块......这里是碰撞检测,有没有办法可以进行循环以便所有块都得到分配的值会发生变化,例如,第一个将是“block.bottomry”,第一个是“block2.bottomry”,第二个是“block2.bottomry”,第三个是“block3.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");
}