Sprite Sprite 是一種連續圖像的電腦圖學技術,它把畫面中需要以動畫來展現的物體,另外裁切一小張的圖像來繪製,完成後再貼到畫面上,這樣就不用對整張畫面做繪圖的動作,降低電腦的計算負擔,是一種高速繪圖的技巧。 本章節將介紹在 HTML5 的 Canvas 實作 Sprite 的方式,我們準備兩張圖,一張是背景:background.png,一張是動畫用的人物:sprite.png,以連續圖像的原理製作動畫。 準備好了的話,請按一下「開始展示範例」,檢視本章節所要示範的案例1…… 原始碼 //全域變數 let count=0; let position=0; //載入背景圖片 let background=new Image(); background.src='background.png'; //載入前景圖片 let sprite=new Image(); sprite.src='sprite.png'; //建立畫布 let canvas=document.createElement('canvas'); document.body.appendChild(canvas); //調整畫布大小 canvas.width=600; canvas.height=300; //先後將背景圖片與前景圖片描繪到畫布 function draw() { let context=canvas.getContext('2d'); context.drawImage(background,0,0); switch(count){ case 0: context.drawImage(sprite,0,0,96,141,272,position,96,141); count++; break; case 1: context.drawImage(sprite,96,0,96,141,272,position+=9,96,141); count++; break; case 2: context.drawImage(sprite,0,0,96,141,272,position,96,141); count++; break; case 3: count=0; context.drawImage(sprite,288,0,96,141,272,position+=9,96,141); } } //每 0.25 秒執行 draw() setInterval(draw,250); 範例下載 19690518A.7z