最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
html5中canvas脉冲运动示例
时间:2022-06-25 18:12:03 编辑:袖梨 来源:一聚教程网
模拟球形的脉冲运动。
小球的构造函数如下:
// 圆球的构造函数
function Ball(radius, color) {
if(radius === undefined) { radius = 40; }
if(color === undefined) { color = "#ff0000"; }
this.x = 0;
this.y = 0;
this.radius = radius;
this.rotation = 0;
this.scaleX = 1;
this.scaleY = 1;
this.color = color;
this.line;
}
Ball.prototype.draw = function(context) {
context.save();
context.translate(this.x, this.y);
context.rotate(this.rotation);
context.scale(this.scaleX, this.scaleY);
context.lineWidth = this.lineWidth;
context.fillStyle = this.color;
context.beginPath();
context.arc(0, 0, this.radius, 0, Math.PI * 2, true);
context.closePath();
context.fill();
if(this.lineWidth > 0) {
context.stroke();
}
context.restore();
}
二. 思路分析:
使用正弦值改变球形的比例,即可制造出脉冲效果。
如下:
var canvas = document.getElementById("canvas"),
context = canvas.getContext("2d"),
ball = new Ball(),
angle = 5,
centerScale = 1,
range = 0.5,
speed = 0.05;
ball.x = canvas.height / 2;
ball.y = canvas.height / 2;
ball.line;
(function drawFrame() {
window.requestAnimationFrame(drawFrame, canvas);
context.clearRect(0, 0, canvas.width, canvas.height);
ball.scaleX = ball.scaleY = centerScale + Math.sin(angle) * range;
angle += speed;
ball.draw(context);
})();
相关文章
- 抖音官方充值入口-抖音充值活动任务奖励领取入口 12-18
- 哔哩哔哩在线免费畅看-2025哔哩哔哩b站网页版最新入口速览 12-18
- 一人之下漫画免费在线观看入口 | 实时缓存无延迟,网页直读免下载 12-18
- 免费PPT成品网站直播推荐-超全免费PPT模板网站盘点 12-18
- 学信网查学历-官方学历查询入口(一键验证学历信息) 12-18
- 虫虫漫画-免费漫画观看入口_海量正版漫画在线畅读平台 12-18