HTML5 Canvas动画效果实现原理
2015-03-30 20:08
761 查看
使用HTML5画布能够帮助我们快速实现简单的动画效果,基本原理如下:
每隔一定时间绘制图形并且清除图形,用来模拟出一个动画过程,可以使用context.clearRect(0, 0, x, y)方法来刷新需要绘制的图形
在线演示
首先是绘制图形的方法,如下:
function myAnimation() {
ctx.clearRect(0, 0, canvas_size_x, canvas_size_y);
if (x_icon < 0 || x_icon > canvas_size_x - size_x) {
stepX = -stepX;
}
if (y_icon < 0 || y_icon > canvas_size_y - size_y) {
stepY = -stepY;
}
x_icon += stepX;
y_icon += stepY;
ctx.drawImage(anim_img, x_icon, y_icon);
}
复制代码
以上方法每隔一定时间清除画布内容,并且重新计算绘制图形位置,一旦超过了画布大小,则反转坐标绘制图形。
下面是实际绘制图形方法:
function draw() {
var canvas = document.getElementById("canvas");
ctx = canvas.getContext("2d");
anim_img = new Image(size_x, size_y);
anim_img.onload = function() {
setInterval('myAnimation()', 5);
}
anim_img.src = 'http://www.gbtags.com/gb/networks/avatars/80x8013d6393f-a44c-4180-8cb6-7bf0e4776283.png';
}
复制代码
以上方法将图形定义,并且调用实际绘制动画的方法,搞定!
如果大家对于HTML5绘制动画有兴趣,或者希望了解如何模拟物理动画效果,请阅读下面的互动教程,相信能够帮助你更好理解HTML画布:
HTML5画布实现的粒子运动效果
每隔一定时间绘制图形并且清除图形,用来模拟出一个动画过程,可以使用context.clearRect(0, 0, x, y)方法来刷新需要绘制的图形
在线演示
首先是绘制图形的方法,如下:
function myAnimation() {
ctx.clearRect(0, 0, canvas_size_x, canvas_size_y);
if (x_icon < 0 || x_icon > canvas_size_x - size_x) {
stepX = -stepX;
}
if (y_icon < 0 || y_icon > canvas_size_y - size_y) {
stepY = -stepY;
}
x_icon += stepX;
y_icon += stepY;
ctx.drawImage(anim_img, x_icon, y_icon);
}
复制代码
以上方法每隔一定时间清除画布内容,并且重新计算绘制图形位置,一旦超过了画布大小,则反转坐标绘制图形。
下面是实际绘制图形方法:
function draw() {
var canvas = document.getElementById("canvas");
ctx = canvas.getContext("2d");
anim_img = new Image(size_x, size_y);
anim_img.onload = function() {
setInterval('myAnimation()', 5);
}
anim_img.src = 'http://www.gbtags.com/gb/networks/avatars/80x8013d6393f-a44c-4180-8cb6-7bf0e4776283.png';
}
复制代码
以上方法将图形定义,并且调用实际绘制动画的方法,搞定!
如果大家对于HTML5绘制动画有兴趣,或者希望了解如何模拟物理动画效果,请阅读下面的互动教程,相信能够帮助你更好理解HTML画布:
HTML5画布实现的粒子运动效果
相关文章推荐
- HTML5 Canvas动画效果实现原理
- HTML5 Canvas动画效果实现原理
- HTML5 Canvas动画效果实现原理
- HTML5 Canvas动画效果实现原理
- HTML5 Canvas动画效果实现原理
- HTML5 实现小车动画效果(Canvas/CSS3/JQuery)
- [置顶] HTML5 实现小车动画效果(Canvas/CSS3/JQuery)
- javascript+HTML5的Canvas实现Lab单车动画效果
- HTML5 实现小车动画效果(Canvas/CSS3/JQuery)
- JS基于HTML5的canvas标签实现炫目的色相球动画效果实例
- HTML53D动画效果实现原理及实例
- javascript+HTML5的Canvas实现Lab单车动画效果
- HTML5 中的 canvas 标签 实现动画效果
- 用canvas实现红心飘飘的动画效果
- HTML5 Canvas动画效果演示
- 八大疯狂的HTML5 Canvas及WebGL动画效果——8 CRAZY ANIMATIONS WITH WEBGL AND HTML5 CANVAS【收藏】
- html5的canvas实现3d雪花飘舞效果
- HTML5 Canvas实现黑客帝国文字掉落效果
- HTML5 Canvas动画效果演示
- html5使用canvas实现跟随光标跳动的火焰效果