私はキャンバスのy軸とx軸に沿っていくつかの楕円を順番に描こうとしています。点はランダムなyの位置に描画されます。処理ループシーケンスの場合
私はこれまで、x軸に沿ってランダムな高さで楕円を描いていました。ただし、y軸に沿ったすべての楕円は一度に描画されました。
for (int x = 0; x < xStep; x++) {
int mh = int(map(noise(offset+(x*0.05)), 0, 1, 0, h));
for (int y = mh; y > mh - 3; y--) {
ellipse(x*diam, y*diam, diam, diam);
}
}
xStep++;
if (xStep > w) {
xStep = 0;
offset = random(1000);
}
Iは、次いで、配列をy軸ならびにx軸に沿って楕円をしようとするforループ別を追加するに移動。したがって、視覚的には、次の列(x軸)が描画される前に、各楕円が次々にy軸上に描画されます。ただし、以下のコードを使用すると、y軸とx軸の描画が順番に行われますが、同時に、次の列が描画される前に視覚的に見えなくなります。
//count rows and frames
if (counter > 7) {
counter = 0;
rowCounter++;
}
for (int j=0; j<7; j++) { //set values to match counter
if (j == counter){
for (int x = 0; x < xStep; x++) {
int mh = int(map(noise(offset+(x*0.05)), 0, 1, 0, h));
for (int y = mh; y > mh - 3; y--) {
y=y-j;
ellipse(x*diam, y*diam, diam, diam);
}
}
}
}
xStep++;
counter++;
if (rowCounter > 7) {
rowCounter = 0;
}
if (xStep > w) {
xStep = 0;
offset = random(1000);
}
xStepの条件付きで試してみると、1行の楕円しか描かれません。
//count rows and frames
if (counter > 7) {
counter = 0;
rowCounter++;
}
for (int j=0; j<7; j++) { //set values to match counter
if ((j == counter) && (xStep != lastXstep)) {
for (int x = 0; x < xStep; x++) {
int mh = int(map(noise(offset+(x*0.05)), 0, 1, 0, h));
for (int y = mh; y > mh - 3; y--) {
y=y-j;
ellipse(x*diam, y*diam, diam, diam);
xStep=lastXstep;
}
}
}
}
xStep++;
counter++;
if (rowCounter > 7) {
rowCounter = 0;
}
if (xStep > w) {
xStep = 0;
offset = random(1000);
}
forループの構築に間違っていますか?おかげさまで