提问者:小点点

如何使椭圆在处理过程中上下移动


我想让椭圆上下移动那么,你能告诉我如何让椭圆上下移动吗


共2个答案

匿名用户

第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++;
}