Maison > interface Web > Tutoriel H5 > Exemple de code de boule mobile HTML5 elliptique (œuf)

Exemple de code de boule mobile HTML5 elliptique (œuf)

黄舟
Libérer: 2017-03-03 16:52:50
original
2149 Les gens l'ont consulté

Ellipse et mouvement elliptique :

 
             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);
           }
Copier après la connexion

Ce qui précède est le contenu de l'exemple de code de boule mobile elliptique (œuf) HTML5. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal