少し一般的な質問ですが、それでも私は何をすべきかわからず、グーグルが失敗したという状況にいます!
構築したキャンバスとのグリッド配列の衝突を書き直そうとしています。
これで、グリッド オブジェクトとブロック オブジェクトができました。グリッドcellSize
はブロックと同じサイズであることに依存し、size
逆もまた同様です。その理由は、ブロックを格納するグリッド配列を作成するには、最初にそれを構築する方法を作成する必要があり、それはブロックのサイズに依存するためです。例、
var grid = new grid();
function grid() {
this.cellSize = 50;
this.cellsX = canvas.width / this.cellSize;
this.cellsY = canvas.height / this.cellSize;
this.buildGrid = function() {
var arr = new Array(this.cellsX);
for(var i = 0; i < arr.length; ++i) {
arr[i] = new Array(this.cellsY);
}
return arr;
};
this.arr = this.buildGrid();
this.getGridCoords = function(i) {
return Math.floor(i / this.cellSize);
};
}
function block() {
this.size = grid.cellSize; // size of the block is same as cellSize
this.x = 0;
this.y = 0 - (this.size * 1.5);
this.baseVelocity = 1;
this.velocity = this.baseVelocity;
this.update = function() {
this.y += this.velocity;
};
}
私が行った方法でそれを行うと、2 つのオブジェクトが結合されますが、これは悪いことだと認識しています。それが理にかなっている場合、オブジェクトを結合せずに2つの変数が同じサイズであることを確認するにはどうすればよいですか?