私はJavaScriptのゲームの割り当てに取り組んでいます。ちょうどキャンバスで少し試してみました。私の仕事は、レーザー源、鏡、ゴールオブジェクトを使ったレーザーゲームです。キャンバスのクローン化/一般化の方法
私はちょうど醜いハードコーディング例作った:あなたが示唆しているどのような解決策なので、私はこのような長方形でN * Nのテーブルを行うことができます。私の質問がある
'use strict';
function $(id) {
return document.getElementById(id);
}
function draw() {
let canvas = $('canvas');
if(canvas.getContext) {
let ctx = canvas.getContext("2d");
ctx.lineWidth = 5;
ctx.strokeStyle = 'hsla(265, 18%, 26%, 0,80)';
ctx.beginPath();
ctx.moveTo(10,10);
ctx.lineTo(10,60);
ctx.moveTo(10,65);
ctx.lineTo(10,115);
ctx.moveTo(10,115);
ctx.lineTo(60,115);
ctx.moveTo(65,115);
ctx.lineTo(115,115);
ctx.moveTo(115,115);
ctx.lineTo(115,65);
ctx.moveTo(115,60);
ctx.lineTo(115,10);
ctx.moveTo(115,10);
ctx.lineTo(65,10);
ctx.moveTo(60,10);
ctx.lineTo(10,10);
ctx.stroke();
}
}
draw();
https://jsfiddle.net/h9664oz4/
を(私はギャップが必要なので、lazerはそれらを通過するだろう)。
私は長方形の内側の要素をドロップする必要がありますが、私はありません真ん中に、レーザーパスのために2つのギャップ各側面を持っていると思います。これは説明のためだけのものです。
明確になるように、私は準備ができた解決策を望んでいません。、私は学びたいと思います。ただ移動する場所をいくつか指導したいだけです。代わりにSVGを掘り下げることを提案しますか?これらの2Dゲームには、いくつかのJSパターンの規則がありますか?より洗練されたコードアーキテクチャにクラスを使用することをお勧めしますか?
私はこれをすべて初心者です。
まあ、私が見て、私は一人でここで少しschizophreniacするつもりです。とにかくここに私の進歩が記録されます。私の計画は、コンテナhtmlパターンを作成し、それらのジェネレータ関数を作成することです。 – MattSom