2017-10-05 300 views
-2

我一直在尋找所有的網絡,以找到一種方法來繪製JavaScript的畫布沒有任何HTML。我承認我被寵壞了,因爲我主要在khanacademy.org [my profile]上編程,它使用了processing.js,所以我習慣於輸入 fill(164,228,252); rect(0, 0, 20, 20); 並得到一個藍色的矩形,但它能很好地繪製如果我正在離線編程,或者想要製作一個純JS遊戲,也就是說,如果它甚至是可能的,那麼它就是一個帶有JS的畫布。是否可以使用vanilla JavaScript創建和繪製畫布?

+0

你怎麼不帶任何HTML意思? ''API期望與在瀏覽器中呈現的HTML元素進行交互。您是否在瀏覽器環境之外創建JS遊戲?如果是這樣,你不能使用畫布。另外,脫機與HTML無關。您可以創建在沒有Internet連接的情況下在本地運行的HTML頁面。即使是純粹的JS遊戲(在瀏覽器中),也需要創建和修改HTML,即使您不會在傳統的'.html'文件中執行它。 – skyline3000

+0

您可以使用不需要DOM或HTML的屏幕外畫布https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvas。支持是有限的,並不是所有的上下文都完全實現。因爲它們獨立於DOM,您還可以在工作人員中使用它們,以提供多線程選項進行渲染。 V8的支持有限,因此基於V8的系統將有一個可以渲染的畫布。 – Blindman67

回答

2

這取決於你的意思是「沒有任何HTML」。 Canvas是一個HTML元素,所以總會有一些HTML參與。即使你通過JavaScript直接訪問DOM,你也需要一個HTML頁面作爲你的「安裝」點,並且作爲加載你的JS代碼的工具。

如果您不想編寫包含畫布的頁面,可以將其附加到應用程序開始處的頁面,如下面的代碼片段所示。

var canvas = document.createElement('canvas'); 
 
var c2d = canvas.getContext("2d"); 
 

 
document.body.appendChild(canvas); 
 

 
c2d.fillStyle = "red"; 
 
c2d.fillRect(0,0,300,200);

相關問題