オブジェクトを画面に配置しようとしていて、各オブジェクトが配置された後に、前のオブジェクトと重複しないようにするためにwhileループを使用して次のオブジェクトを置き換えます多くの私はそこに描画を停止しようとします。whileループで条件の数を変えることは可能ですか?
問題は、各オブジェクトを配置した後にwhileループの条件数を増やす必要があるため、加算の代わりに集計を使用するのと同様の方法があるかどうか疑問に思っていましたか?
編集:
すべてこのコードのオブジェクトの最大数よりも少ない各i
ためのループのための別内に含まれます。私はあなたが見ることができるforループを導入しようとしましたが、オブジェクトが別のオブジェクトを1つずつ交差しているかどうかをチェックするだけで、前のものと重なることがあります。
if(i > 0) {
for (int j = i - 1; j >= 0; j--) {
while ((atomXPosition[i] < atomXPosition[j] + atomWidth[j]
&& atomXPosition[i] + atomWidth[i] > atomXPosition[j]
&& atomYPosition[i] + atomWidth[i] > atomYPosition[j]
&& atomYPosition[i] < atomYPosition[j] + atomWidth[j])) {
atomXPosition[i] = (float) Math.random() * (screenWidth - atomWidth[i]);
}
}
}
これを視覚化するのに苦労します。あなたは現在、あなたが持っているコードのいくつかを表示することができます –
whileループの条件は一様ではないようです。あなたが達成しようとしていることは不明です。 –
whileループのすべての条件は、0と既に配置されているオブジェクトの数の間で繰り返される必要があります –