2011-08-30 48 views
1

我一直在爲Android的應用程序工作,就像「粉玩具」程序一樣。爲了模擬粒子的「疊加」,我有一個數組來監視每一列,如果一個粒子超過了相應元素的值,那麼它將被停止,並且該元素將增加以使下一個粒子降低一點。當元素被改變時,它不會只是改變一個,而是我得到的數字會從例如:320到-1211,320到-602,320到14,等等。我可能會缺少一些關於數組編輯的基本知識,有關如何解決此問題的任何想法?Android中的數組編輯

for(int i = 0; i < intspan; i++){ 
    tempx = particlex[i]; 
    tempy = particley[i]; 

    if(tempx == 0 && tempy == 0) { 
     return; 
    } else { 
     canvas.drawPoint(tempx, tempy, paint); 

     if(tempy < columns[tempx]) { 

      particley[i] += 1; 
     } 
     else if (tempy >= columns[tempx]){ 
      columns[tempx]--; 
     } 
    } 
} 
+0

問題是什麼? –

+0

我將元素更改爲1,結果發生徹底更改 – Nick

+0

您是否有可提供的任何示例代碼? – ssell

回答

0

在零件

else if (tempy >= columns[tempx]){ 
    columns[tempx]--; 
} 

你正在減少列[tempx],當它是較小比tempy。 因此它越來越小。 因爲它在for循環中,所以它可以減少一次運行中的粒子數。