ホームページ > ウェブフロントエンド > H5 チュートリアル > HTML5 楕円形 (卵) 移動ボールのコード例

HTML5 楕円形 (卵) 移動ボールのコード例

黄舟
リリース: 2017-03-03 16:52:50
オリジナル
2184 人が閲覧しました

楕円と楕円運動:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

  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 中国語 Web サイト (www.php.cn) に注目してください。


関連ラベル:
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート