gpt4 book ai didi

javascript - 对 Canvas 内的对象进行动画处理

转载 作者:行者123 更新时间:2023-11-28 02:04:50 25 4
gpt4 key购买 nike

jsfiddle:http://jsfiddle.net/Z2YSt/173/

代码:

function createShipMissil(x, y, imgw, imgh) {
MissileCtx.save();
MissileCtx.clearRect(0, 0, imgw, imgh);
MissileCtx.fillStyle = "rgba(0,200,0,1)";
MissileCtx.fillRect(x, y, imgw, imgh);
MissileCtx.restore();
y -= 1;
setTimeout(function () { createShipMissil(x, y, imgw, imgh); }, 30);

}

我的问题是,当绘制线条时,它看起来是连续的。我怎样才能改变它,让它看起来像一个移动的矩形?

最佳答案

一般来说,在 Canvas 上绘图时只会添加新图形 - 要制作动画,您必须删除每帧的背景。具体来说,您需要有一个重复调用的绘图函数,其中:

  1. 清除 Canvas (绘制一个大的背景颜色矩形或任何您想要的背景)
  2. 然后绘制所有正在移动的物体。

使用固定时间段(如您所做的 30 毫秒)会出现各种问题 - 一旦您让它起作用,请查看堆栈溢出以找出如何将此帧速率与浏览器重绘周期相匹配。

关于javascript - 对 Canvas 内的对象进行动画处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17924359/

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