我有很多對象「塊」的實例,我需要添加一個碰撞檢測來查看我的精靈是否碰到了一個塊。但是不得不復制粘貼和編輯每個代碼會花費很多時間,因爲我將在每個級別上有大約200個塊......在這裏它是碰撞檢測,是否有任何可能的方式進行循環以便所有塊得到例如第一個將是'block.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");
}
它看起來像你應該考慮存儲在[收藏](http://docs.oracle您塊的.com/JavaSE的/教程/集合/前奏/ index.html的) – Richante 2012-04-09 13:01:54