gpt4 book ai didi

javascript - 提高 "bouncing"对象的速度

转载 作者:行者123 更新时间:2023-11-27 23:33:53 29 4
gpt4 key购买 nike

我对JS了解不多,但我必须用它来做作业。现在我有一个球从屏幕的一侧弹到另一侧。每次弹跳,屏幕和球的颜色都会改变。但我也希望每次弹跳时的速度略有增加(或者每次弹跳时的随机速度,如果这样更容易的话)。这是我现在用于移动、弹跳和颜色变化的代码:

    fill(r,g,b);
ellipse(circleX, circleY, circleSize, circleSize);

circleX += moveX;

if (circleX > width - circleSize / 2 || circleX < circleSize / 2) {
moveX = -moveX;
r = random(255);
g = random(255);
b = random(255);
}

moveX 现在始终为 5,返回时更改为 -5。但我希望它在再次前进时变成-6,然后变成+7。或者至少是类似的东西。我预先感谢你们对我的帮助,请像向 child 解释一样解释它。

最佳答案

首先,让我们创建一个函数,它接受一个数字,并为非负数(正数或 0)返回 +1-1 > 对于负数,即它是符号

function sign(x) {
if (x < 0) return -1;
return 1;
}
<小时/>

sign 的完整实现将有 0 的特殊情况,即 available natively in ES6

<小时/>

接下来,当需要更改 moveX 时,将其大小(绝对值)和符号分开,增加其大小并将两个部分重新组合在一起,然后再翻转符号

moveX = -sign(moveX) * (Math.abs(moveX) + 1);

关于javascript - 提高 "bouncing"对象的速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34294633/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com