欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript+HTML5的Canvas實現Lab單車動畫效果

 更新時間:2015年08月07日 12:09:07   作者:皮蛋  
這篇文章主要介紹了javascript+HTML5的Canvas實現Lab單車動畫效果,涉及javascript使用Canvas配合數學運算實現自行車動畫效果,需要的朋友可以參考下

本文實例講述了javascript+HTML5的Canvas實現Lab單車動畫效果。分享給大家供大家參考。具體如下:

這里運用HTML5實現的單車動畫,運行一下效果你就明白了,不過不要在IE8下測試,沒效果的。請在支持最新HTML3和CSS3的瀏覽器下測試,祝您好運。

運行效果截圖如下:

具體代碼如下:

<html>
<head>
<title>Canvas Lab單車動畫,HTML5動畫</title>
</head>
 <script type="text/javascript">
  var framecounter = 800;//為了完成作業(yè),無恥了點,在這里設置變量……
  var direction = "left";
  function drawBikeBody () {
   var canvas = document.getElementById('diagonal');
   var context = canvas.getContext('2d');
   context.lineWidth = 3;
   context.beginPath();
   context.moveTo(0,0);
   context.lineTo(150,0);
   context.lineTo(100,100);
   context.closePath();
   context.moveTo(100,100);
   context.lineTo(200,75);//后輪軸承點
   context.lineTo(150,0);
   //下面那個一個腳踏
   context.moveTo(100,100);
   context.lineTo(110,120);
   context.lineTo(120,120);
   context.moveTo(110,120);
   context.lineTo(100,120);
   //另一個腳踏
   context.moveTo(100,100);
   context.lineTo(90,80);
   context.lineTo(100,80);
   context.moveTo(90,80);
   context.lineTo(80,80);
   //座包
   context.moveTo(150,0);
   context.lineTo(160,-20);
   context.lineTo(175,-20);
   context.moveTo(160,-20);
   context.lineTo(135,-20);
   //扶手
   context.moveTo(0,0);
   context.lineTo(15,-30);
   context.lineTo(10,-35);
   context.lineTo(20,-40);
   context.lineTo(40,-40);
   //前輪軸承
   context.moveTo(0,0);
   context.lineTo(-35.5,75);//前輪軸承點
   //前輪
   context.moveTo(75-35.5,75);//去掉這個目測不行啊,貌似context.arc()方法里有l(wèi)ineTo
   context.arc(-35.5,75,75,0,Math.PI*2,true);
   //后輪
   context.moveTo(200+75,75);
   context.arc(200,75,75,0,Math.PI*2,true);
  }
  function drawForcePiece1(){
   var canvas = document.getElementById('diagonal');
   var context = canvas.getContext('2d');
   context.beginPath();
   for(var i = framecounter; i < framecounter+360; i += 20) { 
    context.moveTo(-35.5,75);
    x = Math.cos(Math.PI / 180 * i) * 75 + (-35.5); 
    y = Math.sin(Math.PI / 180 * i) * 75 + 75; 
    context.lineTo(x,y);
    }
  }
  function drawForcePiece2(){
   var canvas = document.getElementById('diagonal');
   var context = canvas.getContext('2d');
   context.beginPath();
   for(var i = framecounter; i < framecounter+360; i += 20) { 
    context.moveTo(200,75);
    x = Math.cos(Math.PI / 180 * i) * 75 + 200; 
    y = Math.sin(Math.PI / 180 * i) * 75 + 75; 
    context.lineTo(x,y);
    }
  }
  function drawBike(){
   var canvas = document.getElementById('diagonal');
   var context = canvas.getContext('2d');
   context.clearRect(0, 0, 800, 600);
   context.save();
   context.translate(framecounter,300);
   drawBikeBody();
   context.stroke();
   context.restore();
   context.save();
   context.translate(framecounter,300);
   drawForcePiece1();
   context.stroke();
   context.restore();
   context.save();
   context.translate(framecounter,300);
   drawForcePiece2();
   context.stroke();
   context.restore();
   if (direction==="left") {
    framecounter--;
   }else{
    framecounter++;
   }
  }
  function move() {
   var interal = setInterval(function () {
  drawBike();
  }, 10);
  }  
  window.addEventListener("load",move,true);
 </script>
 <body>
  <canvas id="diagonal" width="800" height="600" style="border:1px dashed">Please update your brower to the newest version!</canvas>
  <br>
  <button id="reset" onclick="framecounter=800;">Reset</button>
  <button id="left" onclick="direction='left'">Go Left</button>
  <button id="right" onclick="direction='ture'">Go Right</button>
 </body>
</html>

希望本文所述對大家的javascript程序設計有所幫助。

相關文章

  • webpack使用 babel-loader 轉換 ES6代碼示例

    webpack使用 babel-loader 轉換 ES6代碼示例

    本篇文章主要介紹了webpack使用 babel-loader 轉換 ES6代碼 ,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-08-08
  • 微信小程序實現滾動條功能

    微信小程序實現滾動條功能

    這篇文章主要為大家詳細介紹了微信小程序實現滾動條功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • js控制li的隱藏和顯示實例代碼

    js控制li的隱藏和顯示實例代碼

    下面小編就為大家?guī)硪黄猨s控制li的隱藏和顯示實例代碼。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • 微信小程序通過保存圖片分享到朋友圈功能

    微信小程序通過保存圖片分享到朋友圈功能

    小程序內是不能直接分享到朋友圈的。所以只能通過生成圖片,攜帶小程序二維碼,保存到手機相冊,讓用戶自己選擇發(fā)到朋友圈。然后可以通過在小程序中識別二維碼來進入小程序的指定頁面。下面小編給大家分享實現代碼,需要的朋友參考下吧
    2018-05-05
  • JS圖片無縫滾動(簡單利于使用)

    JS圖片無縫滾動(簡單利于使用)

    現在又想做一個無縫滾動了,所以在網上找啊找,好多都是相同的,而且調試復雜,好多都不能動,也懶得去細看,終于讓我發(fā)現了這個,希望能幫到別人:
    2013-06-06
  • uni-app實現數據上拉加載更多功能實例

    uni-app實現數據上拉加載更多功能實例

    數據列表在很多時候,經常會用到,下面這篇文章主要給大家介紹了關于uni-app實現數據上拉加載更多功能的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • 微信小程序添加插屏廣告并設置顯示頻率(一天一次)

    微信小程序添加插屏廣告并設置顯示頻率(一天一次)

    微信小程序今年新上線了插屏廣告,設置和在代碼庫中接入都非常方便。今天通過本文給大家分享微信小程序添加插屏廣告并設置顯示頻率(一天一次),需要的朋友可以參考下
    2019-12-12
  • 基于JavaScript實現圖片連播和聯(lián)級菜單實例代碼

    基于JavaScript實現圖片連播和聯(lián)級菜單實例代碼

    這篇文章主要介紹了基于JavaScript實現圖片連播和聯(lián)級菜單實例代碼,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-07-07
  • JavaScript浮點數及運算精度調整詳解

    JavaScript浮點數及運算精度調整詳解

    浮點數的精度問題不是JavaScript特有的,本文主要介紹了JavaScript浮點數及運算精度調整詳解,有需要的朋友可以了解一下。
    2016-10-10
  • webpack打包多頁面的方法

    webpack打包多頁面的方法

    這篇文章主要介紹了webpack打包多頁面的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11

最新評論