最贊回答 / xue5hen
清空的原因不是因為【canvas1覆蓋在canvas2上】,教程中從來沒這么說。教程中說的是:因為動畫一直在循環執行,前一次的圖像如果不清除,就會跟后面的圖像疊加在一起,使得大魚小魚的邊線看起來特別粗,所以才要清。打個簡單的比方:寫滿字的黑板如果不擦,繼續寫上去的字就會跟之前的疊加在一起看不清楚。
2015-12-02
最新回答 / zhangcl
找到答案了,因為背景圖片每次都要繪制一次,所以將之前的??o遮住了,建議把ctx2.clearRect(0, 0, canWidth, canHeight);這個代碼加上去
2015-12-02
最新回答 / qq_為你寫詩_1
我剛剛解決了can1 = document.getElementById("canvas1"); ctx1 = can1.getContext("2d"); can2 = document.getElementById("canvas2"); ctx2 = can2.getContext("2d");
2015-11-25
最新回答 / CaijieHS
我也遇到過這個問題,檢查后發現是一開始在main.js中初始化ctx2時 /*function init()中*/?用的是can1來getContext的,也許你也是類似的錯誤,你可以檢查一下。
2015-11-23
最新回答 / 李曉健
所有主流瀏覽器都支持 position 屬性。注釋:任何的版本的 Internet Explorer (包括 IE8)都不支持屬性值 "inherit"。定義和用法position 屬性規定元素的定位類型。說明這個屬性定義建立元素布局所用的定位機制。任何元素都可以定位,不過絕對或固定元素會生成一個塊級框,而不論該元素本身是什么類型。相對定位元素會相對于它在正常流中的默認位置偏移。默認值:static ? ?繼承性:no ? ?版本:CSS2 ? ?JavaScript 語法:object.style.po...
2015-11-19
最贊回答 / 拼命柯南
function drawBackground(){ ctx2.drawImage(bgPic,0,0,canWidth,canHeight);}這是background.jsvar can1;var can2;var ctx1;var ctx2;var canWidth;var canHeight;var lastTime;var deltaTime;var bgPic =new Image();document.body.onload =game;function game(){? ? init; l...
2015-11-18