如何加速已经移动的物体?

时间:2019-01-06 17:25:46

标签: javascript

我正在研究一种新的编码语言,该语言使用Java语言编写。我们从简单开始:创建一个矩形,使其在屏幕上水平移动。但是,我需要找到一种方法,使其持续时间越长越好。

到目前为止,我唯一能弄清楚和发现的是,我可以使用现有值并将其乘以一个很小的因数,该因数略高于一个(“ IF”语句)。但是,有没有其他更简单的方法可以做到这一点?

//variabelen X en Y

var posX;
var posY;


//Canvas
function setup() {
    createCanvas(400, 400);
    posX = 0;
    posY = 50;

}

//rode vierkant

function draw() {
    background(255);
    fill(255, 0, 0);
    rect(posX, posY, 50, 50);
    posX = posX + 1;

    if (posX >= 1) { 

        posX = posX * 1.05;
    }

}

如上所述,我希望红色矩形以一定速度(在本例中为+1)开始,然后逐渐加速。

1 个答案:

答案 0 :(得分:1)

您将需要声明另一个变量来跟踪速度。 然后,在绘制循环的每次迭代中,将速度增加一定量:

var posX;
var posY;
var vel;


//Canvas
function setup() {
    createCanvas(400, 400);
    posX = 0;
    posY = 50;
    vel = 1;
}

//rode vierkant

function draw() {
    background(255);
    fill(255, 0, 0);
    rect(posX, posY, 50, 50);
    posX += vel;
    vel *= 1.05;
}