canvas有x,y坐标数组,怎么让卡车随着x,y坐标点匀速移动
可以使用Canvas中的drawImage()方法来实现,代码示例如下// 定义卡车图片 var truckImg = new Image(); truckImg.src = 'truck.jpg'; // 定义x, y坐标数组 var points = [[100, 200], [200, 300], [300, 400]]; // 设定每次移动的步长 var stepSize = 5; // 记录当前位置 var currentX = 0; var currentY = 0; // 渲染函数 function render(){ ctx.clearRect(0, 0, canvas.width, canvas.height); ctx.drawImage(truckImg, currentX, currentY); } function move(){ if (points[0] != null){ // 直到起始坐标为null时,表明所有坐标都已遍历完 if (currentX < points[0][0]){ currentX += stepSize; } else if (currentX > points[0][0]){ currentX -= stepSize; } else if (currentY < points[0][1]){ currentY += stepSize; } else if (currentY > points[0][1]){ currentY -= stepSize; } else { points.shift(); // 移除已遍历过的坐标 } render(); requestAnimationFrame(move); }else { console.log('done'); return false; } }; move();
创作工场
免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。
点击这里>>使用🔥专业版,更聪明、更完整、更原创!