1
我需要設置一個背景畫布,並在各個地方繪製一些圖像。在這個背景下沒有任何變化,所以我想一次完成。我想我知道該怎麼做。然後,我希望將每個框架複製到我的主屏幕畫布上,讓他們看到背景畫布(最終只是其中的一部分)。Html5 Canvas to Canvas Blit
我做了以下內容:
g_CanvasScreen = document.getElementById("m_Canvas");
g_CanvasScreenContext = g_CanvasScreen.getContext("2d");
g_OffScreenBackground = document.createElement("canvas");
g_OffScreenBackgroundContext = g_CanvasScreen.getContext("2d");
我相信這得從HMTL5頁面g_CanvasScreen主屏幕畫布。
我相信g_OffScreenBackground是一個新創建的內存中的畫布。
一旦所有圖像都加載,然後我通過調用函數畫在正確的地方,背景屏幕上的所有圖片:
DrawMapToBackground(g_OffScreenBackground, g_OffScreenBackgroundContext, 2000, 1600);
2000×1600的屏幕外背景的尺寸。
這會導致我不確定的事情。我相信,這將在位塊傳輸背景畫布到主屏幕:
g_CanvasScreenContext.drawImage(g_OffScreenBackground,
0, 0, g_OffScreenBackground.width, g_OffScreenBackground.height,
screenX, screenY, g_OffScreenBackground.width, g_OffScreenBackground.height);
這是最後一個函數是否正確?我可以做畫布來畫布嗎?我應該以另一種方式做這件事嗎?
這看起來像一個聰明的想法,但不幸的是我的正面和背面有畫布旋轉。 – Rewind
...並且最終它將僅僅是正在繪製的背景圖像的一部分,這取決於玩家的精靈在屏幕上的位置。 – Rewind
夠公平的。順便說一句,drawimage的最後4個參數用於移動和縮放屏幕畫布,因爲它正在繪製到前景圖像。通過提供screenX和screenY,實際上是將背景圖像移動到主畫布上的該座標(主畫布將不會有screenX或screenY以上的背景)。如果您不需要移動和縮放,請關閉最後4個參數。 – markE