第1步:将场景的状态存储在一些变量中。对您来说,这可能只是通过CircleY
变量。
float circleY = 50;
第2步:使用该变量绘制场景。
ellipse(50, circleY, 10, 10);
第3步:随着时间的推移修改该变量以改变场景。
circleY++;
第4步:添加检查以确保您的变量不会超出范围。
if(circleY > height){
circleY = 0;
}
把它们放在一起,看起来像这样:
float circleY = 50;
void draw() {
background(0);
ellipse(50, circleY, 10, 10);
circleY++;
if (circleY > height) {
circleY = 0;
}
}
当然,这只是一个例子。您必须添加额外的逻辑来切换方向,而不是传送回屏幕顶部。您可以使用tortionY
变量,当圆圈碰到屏幕顶部或底部时,您可以切换该变量。
但基础是一样的:使用变量来存储您的状态,随着时间的推移更改这些变量,并使用这些变量绘制您的场景。
我建议你尝试一些东西,如果你被卡住了,在一个新的问题中发布一个MCVE。祝你好运。
尝试使用sin或余弦函数来上下振荡圆!
float angle = 0;
public void draw() {
if (angle > 359) {
angle = 0;
}
ellipse(0, sin(radians(angle)) * height, 20, 20);
angle++;
}