簡體   English   中英

在畫布上水平移動對象

[英]moving object horizentally on canvas

我需要對象從左向右移動,但是在我擁有的代碼中,它保持從右向左,然后從左向右返回:

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

問題在第3行。

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;

為什么要使用Math.sin? 只需使用此:

var x += time;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM