首页 > web前端 > H5教程 > 正文

HTML5 椭圆(蛋)运动的小球的代码实例

黄舟
发布: 2017-03-03 16:52:50
原创
2407人浏览过

    椭圆与椭圆运动:

 

 
             var canvas=document.getElementById("ballBroad");
 
            var context=canvas.getContext("2d");
            //角度
            var angle=0;
            //角度步长
            var speedAngle=0.1;
           
            //刷新频率
            var frames=1000/60;
            //球对象
            var Ball=function(radius,color,x,y)
            {
                this.radius=radius;
                this.color=color;
                this.x=x;
                this.y=y;
            }
            //中心点
            var centerX=canvas.width/2;
            var centerY=canvas.height/2;
            //存放小球走过的点
            var points=[];
           
           
            //创建一个球
            var newBall=new Ball(20,"#ff000",0,centerY);
            
            //在画板中间绘制球
            //DrawBall(newBall);
            //存放
            //points.push({x:newBall.x,y:newBall.y});
           
           
            //让球平稳的动起来
            var drawAsync = eval(Jscex.compile("async", function () {
                        while(true)
                        {
                            newBall.y=centerY+Math.sin(angle)*(centerY/2+20);
                            newBall.x=centerX+Math.cos(angle)*centerX;
                            angle+=speedAngle;
                            DrawBall(newBall);
                            //存放小球的点
                            points.push({x:newBall.x,y:newBall.y});
                           
                            //绘制线条
                            DrawBallLine();
                            //画蛋疼
                            DrawText("蛋疼",centerX-50,centerY);
                            //每秒60次
                            $await(Jscex.Async.sleep(frames));
                           
                        }   
                       
                                                                   
            }));
           drawAsync().start();
          
           function DrawBall(ball)
           {
               context.clearRect(0, 0, canvas.width, canvas.height);
               //在画板中间绘制球
            context.beginPath();
            context.arc(ball.x, ball.y, newBall.radius, 0, 2 * Math.PI, false);
            context.fillStyle = ball.color;
            context.fill();
            context.lineWidth = 5;
            context.strokeStyle = "#ff0000";
            context.stroke();
           }
           //绘制小球的移动轨迹
           function DrawBallLine()
           {
                    for(var i=0;i<points.length;i++)
                    {
                        if(i==0)
                        {
                            context.moveTo(points[i].x,points[i].y)
                        }
                        context.lineTo(points[i].x,points[i].y)
                        context.stroke();
                    }
           }
           //写蛋疼
           function DrawText(text,x,y)
           {
                context.font = "40pt Arial";
             context.fillText(text, x, y);
           }
登录后复制

   以上就是HTML5 椭圆(蛋)运动的小球的代码实例的内容,更多相关内容请关注PHP中文网(www.php.cn)!

代码小浣熊
代码小浣熊

代码小浣熊是基于商汤大语言模型的软件智能研发助手,覆盖软件需求分析、架构设计、代码编写、软件测试等环节

代码小浣熊 51
查看详情 代码小浣熊
相关标签:
HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号