老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

HTML5canvas如何實現中獎轉盤

小編給大家分享一下HTML5 canvas如何實現中獎轉盤,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名申請、網絡空間、營銷軟件、網站建設、武城網站維護、網站推廣。

最近在學canvas做動畫,于是就寫個轉盤練下手。
上個簡陋的成果圖(中間那個是轉的指針,外面的圈是圖片,懶得寫了哈哈哈)

HTML5 canvas如何實現中獎轉盤

代碼很簡單,都注釋了,直接上代碼吧,嚶嚶嚶

html


  您的瀏覽器不支持canvas
  

css

js

  var canvas = document.getElementById('canvas');
  var context = canvas.getContext('2d');
  //設定畫布和寬
  canvas.width=140;
  canvas.height=140;
  var then = Date.now();
  var now;//利用時間差來控制轉盤最小轉動時間
  var first_deg=0;//用來記錄轉動的角度
  var rotate_deg=0;//每次轉動的角度,用來實現變速運動
  var end_deg =85;//中獎角度
  var speedUp = true;//判斷是否在加速階段
  var f;

  // 因為canvas的rotate函數是根據左上角坐標(0,0)來旋轉的,所以移動畫布
  context.translate(70,70);
  function draw(){
    context.clearRect(-70, -70, 70, 70);
    context.beginPath();
    context.arc(0, 0, 50, Math.PI / 180 * 0, Math.PI / 180 * 360, true);
    context.moveTo(-50,0);
    context.lineTo(50,0);
    context.lineTo(0,-70);
    context.rotate(rotate_deg*Math.PI/180);
    context.closePath();
    context.fillStyle='red';
    context.fill();    
  }
// 將運動分為3段,加速,勻速,減速
  function loop(){

    //循環調用,產生動畫效果
    f = window.requestAnimationFrame(loop);
    now = Date.now();

    //開始加速轉動,轉到速度為20就不加速了,至于為什么是20,看起來舒服而已
    if(rotate_deg<=20&&speedUp){
      rotate_deg +=1;
    };

    //2s后開始減速(即最小轉動時間),減速是為了視覺上的美觀
    if(now - then > 2000){

      //如果下面設置的是固定角度,那這里的最小速度建議為1,因為每次轉動角度過大,一圈很可能錯過中獎的角度,導致轉很多圈。
      if(rotate_deg>=2){
        speedUp = false;
        rotate_deg -=1;
      }
      //設置中獎區間為+-5度(設置固定角度會讓動畫有點難看)
      if(first_deg%360>=end_deg-5&&first_deg%360<=end_deg+5){
        window.cancelAnimationFrame(f);//停止循環
        //中獎操作
      }
    };
    first_deg += rotate_deg;//記錄轉過的角度
    draw();//繪制圖形
  }
  loop();

最后

現在這個轉盤比較大的問題就是,如果中獎區間比較小,那減速后轉動的時間就長一些,最低速度轉很久才停下。當區間大的時候一下子就停下了,減速效果不明顯,視覺上看起來很奇怪。

以上是HTML5 canvas如何實現中獎轉盤的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創新互聯行業資訊頻道!


當前標題:HTML5canvas如何實現中獎轉盤
分享網址:http://www.xueling.net.cn/article/pggihe.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 50岁人妻丰满熟妇αv无码区 | 成人午夜福利视频镇东影视 | 免费黄色一级大片 | 欧美a级免费观看 | 国产农村女人一级毛片了 | 国产黄色播放 | 7788成人免费播放网站 | 777午夜精品视频在线播放 | 99久久免费国内精品 | BBWBBWBBW少妇毛茸茸 | 色天天色综合 | 亚洲欧美视屏 | 量新国产精品亚洲 | 97夜夜澡人人爽人人喊91洗澡 | 亚洲无吗视频在线 | 久久国产精品国产精品 | 中文字幕AAV| 久热精品在线播放 | 亚洲私人网站 | yw视频在线观看 | 午夜成人片400 | av中文字幕在线观看第一页 | japanese69极品少妇 | 亚洲一区二区三区蜜桃 | 国产精品自在拍一区二区不卡 | 无码h肉动漫在线观看 | a∨色狠狠一区二区三区 | 麻豆www传媒入口 | 少妇被两个黑人3p喷水在线观看 | 四虎影视院 | 日本一级淫片1000部 | 成人av在线网 | 国产www网站 | 饥渴的少妇毛片免费视频 | 欧美顶级METART裸体全部自慰 | 中文字幕+乱码+中文字幕无忧 | 丁香花五月·婷婷开心 | 色欲天天来综合网站 | 开心亚洲五月丁香五月 | 免费观看黄色12片一级视频 | 日韩aaa视频 |