最新下载
热门教程
- 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);
})();
相关文章
- PS怎么设计抽象错乱的人物效果? 07-12
- 剑星阿妮斯服装怎么获取 阿妮斯服装获取方式一览 07-12
- 网站优化如何提高用户的信任度? 07-12
- 比特币Coinbase溢价回升,但强度仍低于6月峰值——这对BTC意味着什么? 07-12
- 无畏契约源能行动霓虹实战 霓虹实战技巧详解 07-12
- 幻兽帕鲁流沙蛇去哪捕捉 帕鲁流沙蛇抓取方法介绍 07-12