2017-10-05 301 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);

相关问题