我无法弄清楚一旦它离开屏幕我怎么能让线重复。我尝试了很多if语句,但没有运气。截至目前,我只是遇到了这条线,但不是我提到的另一部分。有人可以帮助我。
对不起,这是一个更简单的版本。
float[] speeds = new float[1];
float[] diaxPos = new float[1];
float[] diayPos = new float[1];
float[] dia2xPos = new float[1];
float[] dia2yPos = new float[1];
void setup() {
size(300, 300);
diaxPos[0] = 0;
diayPos[0] = 0;
dia2xPos[0] = 0;
dia2yPos[0] = 0;
speeds[0] = 2;
}
void draw() {
background(0);
stroke(255);
diayPos[0] += speeds[0];
dia2xPos[0] += speeds[0];
(diaxPos[0], diayPos[0], dia2xPos[0], dia2yPos[0]);
}
答案 0 :(得分:0)
只需检查线条是否已脱离屏幕。在您的情况下,当X或Y值大于600时会发生这种情况。获取一些网格纸并绘制一些示例以找出模式。
float[] speeds = new float[1];
float[] diaxPos = new float[1];
float[] diayPos = new float[1];
float[] dia2xPos = new float[1];
float[] dia2yPos = new float[1];
void setup() {
size(300, 300);
diaxPos[0] = 0;
diayPos[0] = 0;
dia2xPos[0] = 0;
dia2yPos[0] = 0;
speeds[0] = 2;
}
void draw() {
background(0);
stroke(255);
diayPos[0] += speeds[0];
dia2xPos[0] += speeds[0];
if (diayPos[0] > 600) {
diayPos[0] = 0;
dia2xPos[0] = 0;
}
line(diaxPos[0], diayPos[0], dia2xPos[0], dia2yPos[0]);
}