2017-10-05 10 views
-2

JavaScriptなしでキャンバスを描画する方法を見つけるために、私はウェブ全体を見てきました。私はほとんどがkhanacademy.org [my profile]でprocessing.jsを使用しているので、私は fill(164,228,252); rect(0, 0, 20, 20); と入力するのに慣れていますが、青い矩形を取得することができます私がオフラインでプログラミングしていた場合はJSを使用したキャンバス、純粋なJSゲームを作ってみたい、つまりそれが可能であれば。バニラJavaScriptのみを使用してキャンバスを作成して描画することはできますか?

+0

あなたが任意のHTMLせずに何をすることによって意味ですか? '' APIは、ブラウザでレンダリングされるHTML要素とやり取りすることを想定しています。ブラウザ環境の外でJSゲームを作成していますか?その場合、キャンバスを使用することはできません。また、オフラインであることはHTMLとは関係ありません。インターネットに接続していないときにローカルで実行されるHTMLページを作成できます。たとえあなたが伝統的に '.html'ファイルでやっていなくても、純粋なJSゲーム(ブラウザ内)でさえ、HTMLを作成し修正する必要があります。 – skyline3000

+0

DOMまたはHTMLを必要としないオフスクリーンキャンバスhttps://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasを使用できます。サポートは限られており、すべてのコンテキストがまだ完全に実装されているわけではありません。それらはDOMから独立しているので、レンダリングにマルチスレッドオプションを与えるワーカーでそれらを使用することもできます。 V8にはサポートが限られているため、V8ベースのシステムではレンダリングするキャンバスが必要になります。 – Blindman67

答えて

2

「HTMLを使用しない」という意味によります。キャンバスはHTML要素なので、何らかのHTMLが何らかの形で関係することになるでしょう。 JavaScriptで直接DOMにアクセスしている場合でも、HTMLページを「マウント」ポイントとして、JSコードをロードする手段としてHTMLページが必要です。

キャンバスを含むページを作成したくない場合は、アプリケーションの先頭にあるページ(下のスニペットなど)に追加できます。

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

 
document.body.appendChild(canvas); 
 

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

関連する問題