2
我想從一個球在畫布上來回跳動,以便有一定的重力並最終下降。 我知道我需要改變速度,當它到達底部,但我不知道這應該如何完成和編碼。如何在JavaScript中使用重力彈跳球 -
我是一個全新的JS學生,沒有物理學背景 - 這會是多麼困難?我很高興學習等。我試圖讓球碰撞並以正確的角度脫落,但現在看起來似乎高於我。
var canvas,
ctx,
cx = 100,
cy = 150,
vx = 0,
vy = 5,
radius = 30;
function init() {
canvas = document.getElementById("gameCanvas");
ctx = canvas.getContext("2d");
circle();
}
function circle() {
ctx.clearRect(0, 0, canvas.width, canvas.height);
requestAnimationFrame(circle);
if (cx + radius > canvas.width || cx - radius < 0)
vx = -vx;
if (cy + radius > canvas.height || cy - radius < 0)
vy = -vy;
cx += vx;
cy += vy;
}
我取出CX運動只是向上/向下動畫和空間 圈抽籤碼會是什麼下一步?
我會乘上它的當前速度一個數字如0.8在碰撞和在哪裏/如何?
原諒基本/可怕的書面代碼 - 必須從某處開始!
不客氣。您可能需要添加牆壁阻尼才能使其更逼真。關於最底層的行爲 - 這取決於你想要做什麼。發生小故障是因爲球在某個點仍然落在邊緣下方。爲了解決這個問題,當碰撞發生時,您可以隨時在球場內恢復球。 – Shomz
我怎麼會這樣做@Shomz,忽略我的最後評論,因爲這沒有任何意義btw。有沒有辦法讓它停止彈跳時停止在畫布下? – joshuaaron
我也增加了牽引力。這一切都有意義嗎? – Shomz