亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么利用HTML5 Canvas制作鍵盤及鼠標動畫

發布時間:2022-03-08 10:29:44 來源:億速云 閱讀:242 作者:小新 欄目:web開發

這篇文章將為大家詳細講解有關怎么利用HTML5 Canvas制作鍵盤及鼠標動畫,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

  鍵盤控制小球移動

  眾所周知,我們所看到的動畫實際上就是一系列靜態畫面快速切換,從而讓肉眼因視覺殘像產生了「畫面在活動」的視覺效果。明白了這一點后,在canvas上繪制動畫效果就顯得比較簡單了。我們只需要將某個靜態圖形先清除,然后在另外一個位置重新繪制,如此反復,讓靜態圖形按照一定的軌跡進行移動,就可以產生動畫效果了。

  下面,我們在canvas上繪制一個實心小球,然后用鍵盤上的方向鍵控制小球的移動,從而產生動態效果。示例代碼如下:

  JavaScript Code復制內容到剪貼板

  html>

  html5?canvas繪制可移動的小球入門示例

  您的瀏覽器不支持canvas標簽。

  //獲取Canvas對象(畫布)

  var?canvas?=?document.getElementById("myCanvas");

  //表示圓球的類

  function?Ball(x,?y?,radius,?speed){

  this.x?=?x?||?10;?//圓球的x坐標,默認為10

  this.y?=?y?||?10;?//圓球的y坐標,默認為10

  this.radius?=?radius?||?10;?//圓球的半徑,默認為10

  this.speed?=?speed?||?5;//圓球的移動速度,默認為5

  //向上移動

  this.moveUp?=?function(){

  this.y?-=?this.speed;

  if(this.y?

  //防止超出上邊界

  this.y?=?this.radius;

  }

  };

  //向右移動

  this.moveRight?=?function(){

  this.x?+=?this.speed;

  var?maxX?=?canvas.width?-?this.radius;

  if(this.x?>?maxX){

  //防止超出右邊界

  this.x?=?maxX;

  }

  };

  //向左移動

  this.moveLeft?=?function(){

  this.x?-=?this.speed;

  if(this.x?

  //防止超出左邊界

  this.x?=?this.radius;

  }

  };

  //向下移動

  this.moveDown?=?function(){

  this.y?+=?this.speed;

  var?maxY?=?canvas.height?-?this.radius;

  if(this.y?>?maxY){

  //防止超出下邊界

  this.y?=?maxY;

  }

  };

  }

  //繪制小球

  function?drawBall(ball){

  if(typeof?ctx?!=?"undefined"){

  ctx.beginPath();

  ctx.arc(ball.x,?ball.y,?ball.radius,?0,?Math.PI?*?2,?false);

  ctx.fill();

  }

  }

  //清空canvas畫布

  function?clearCanvas(){

  if(typeof?ctx?!=?"undefined"){

  ctx.clearRect(0,?0,?400,?300);

  }

  }

  var?ball?=?new?Ball();

  //簡單地檢測當前瀏覽器是否支持Canvas對象,以免在一些不支持html5的瀏覽器中提示語法錯誤

  if(canvas.getContext){

  //獲取對應的CanvasRenderingContext2D對象(畫筆)

  var?ctx?=?canvas.getContext("2d");

  drawBall(ball);

  }

  //onkeydown事件的回調處理函數

  //根據用戶的按鍵來控制小球的移動

  function?moveBall(event){

  switch(event.keyCode){

  case?37://左方向鍵

  ball.moveLeft();

  break;

  case?38://上方向鍵

  ball.moveUp();

  break;

  case?39://右方向鍵

  ball.moveRight();

  break;

  case?40://下方向鍵

  ball.moveDown();

  break;

  default://其他按鍵操作不響應

  return;

  }

  clearCanvas();//先清空畫布

  drawBall(ball);?//再繪制最新的小球

  }

關于“怎么利用HTML5 Canvas制作鍵盤及鼠標動畫”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临桂县| 新乐市| 济源市| 神池县| 德安县| 潼关县| 白玉县| 延长县| 安乡县| 新建县| 景谷| 天等县| 会东县| 宿松县| 漳平市| 右玉县| 平远县| 临汾市| 黄冈市| 汪清县| 宁蒗| 彭阳县| 茂名市| 青海省| 龙口市| 清镇市| 射洪县| 康乐县| 久治县| 皮山县| 疏勒县| 江口县| 武隆县| 郓城县| 阳信县| 陕西省| 手游| 乌鲁木齐市| 涿州市| 阳高县| 兴义市|