在画布上极大地移动物体

时间:2016-02-19 21:01:18

标签: javascript canvas requestanimationframe

我需要对象从左向右移动,但在我的代码中,它从右到左依次从左到右:

function draw() {
    var time = new Date().getTime() * 0.002;
    var x = Math.sin(time * 0.5)*700
    var y = 58;

问题出在第3行。

2 个答案:

答案 0 :(得分:1)

Math.sin值在-1和1之间振荡,这就是为什么你看到你的对象从右到左然后又回到右边。它循环通过Math.sin的最小值和最大值。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sin

使用此代替Math.sin来达到预期效果:var x += time;

答案 1 :(得分:0)

你为什么使用Math.sin? 用这个:

var x += time;