我一直在开发一个类似Android的应用程序“粉末玩具”。为了模拟粒子“堆叠”,我有一个监视每一列的数组,如果一个粒子超过相应元素的值,它就会停止并且元素会增加,以便下一个粒子稍微高一点。当元素被改变时,它不仅仅改变一个,而是让数字从例如320变化到-1211,320到-602,320到14,依此类推。我可能会遗漏一些关于数组编辑的基本知识,有什么想法可以解决这个问题吗?
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)
在部分
else if (tempy >= columns[tempx]){
columns[tempx]--;
}
当你的小于时,你的列数正在递减[tempx]。 因此它越来越小。 因为它在for循环中,所以在一次运行中它可以减少多达几个粒子的数量。