六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 130|回复: 0

html5 实现动画(一)

[复制链接]

升级  97.67%

153

主题

153

主题

153

主题

举人

Rank: 3Rank: 3

积分
493
 楼主| 发表于 2013-1-29 13:47:53 | 显示全部楼层 |阅读模式
<canvas id="canvas1" width="250" height="300" style="background-color:black">
    你的浏览器不支持 Canvas 标签,请使用 Chrome 浏览器 或者 FireFox 浏览器
</canvas><br/>
帧数:<input  id="txt1" type="text" value="25"/><br/>
每次移动距离:<input type="text" id="txt2" value="10"/><br/>
<input type="button" value="开始" />
<input type="button" value="暂停" />
<script type="text/javascript">
    //定时器
    var interval=null;
    //停止动画
    function stop(){
        clearInterval(interval);
    }
    //===================================================================
    //基本动画
    //====================================================================
    function move_box(){
        //停止动画
        stop();
        //移动速度
        var delta=parseInt(document.getElementById('txt1').value);
        //每秒绘制多少次
        var fps=parseInt(document.getElementById('txt2').value);
        //画布对象
        var canvas=document.getElementById("canvas1")
        //获取上下文对象
        var ctx = canvas.getContext("2d");
        //设置颜色
        ctx.fillStyle="red";
        //方块的初始位置
        var x=100;var y=50;
        //方块的长度和宽度
        var w=30;var h=30;
        //开始动画
        interval = setInterval(function(){
            //改变 y 坐标
            y=y+delta;
            //上边缘检测
            if(y<0){
                y=0;
                delta=-delta;
            }
            //下边缘检测
            if((y+h)>canvas.getAttribute("height")){
                y=canvas.getAttribute("height")-h;
                delta=-delta;
            }
            //清空画布
            ctx.clearRect(0,0,canvas.getAttribute("width"),canvas.getAttribute("height"));
            //保存状态
            ctx.save();
            //移动坐标
            ctx.translate(x,y);
            //重新绘制
            ctx.fillRect(0,0,w,h);
            //恢复状态
            ctx.restore();
        },1000/fps);
    }
</script>
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表