我目前正在處理一個處理草圖,特點是非常基本的重力模擬(基於Daniel Schiffman的書「學習處理」中給出的一個例子),但我的重力一直以奇怪的方式表現,而我在失去知道該怎麼做。這是我能想出的最簡單的例子:重力模擬去幹擾
float x = 50;
float y = 50;
float speed = 2;
float gravity = 0.1;
void setup() {
size(400, 400);
}
void draw() {
background(255);
fill(175);
stroke(0);
ellipseMode(CENTER);
ellipse(x, y, 10, 10);
y = y + speed;
speed = speed + gravity;
//Dampening bounce effect when the ball hits bottom
if (y > height) {
speed = speed * -0.95;
}
}
以上是幾乎相同什麼史基佛曼的書放在一邊,從不同的起始速度和不同的窗口大小的。對於前兩次反彈似乎工作正常,但在第三次反彈時,球粘在窗口底部。
我不知道從哪裏開始嘗試調試。任何人都可以提供任何指針?
它碰到底部後,嘗試改變y,以便它「在界限內」 – Tom