1

タイトルが完全に正しくないことは別として、createJs で正方形を描くのに問題があります。私は一般的に正方形を生成する同じ大きさの辺を持つ長方形を描いていますが、私にとってはそうではありません。

ここに画像の説明を入力

私が使用しているコードは次のとおりです(非常に単純化されています):

function getRandomNumber(max)
    {
        return Math.floor(Math.random() * max);
    }

var colors = ["Red", "Green", "Blue"];

function createTileArea()
    {
        var stage = new createjs.Stage("tileArea");
        stage.name = "stage";
        var size = 50;

        for (row = 0; row < 10; row++) {
            for (col = 0; col < 10; col++) {
                var id = row + "_" + col;
                var color = colors[getRandomNumber(3)];

                var tile = new createjs.Shape();
                tile.graphics.beginFill(color);
                tile.graphics.drawRect(0, 0, size, size);
                tile.graphics.endFill();
                tile.x = col * size;
                tile.y = row * size;
                tile.height = size;
                tile.width = size;
                tile.name = id;

                stage.addChild(tile);
            }
        }

        stage.update();
    }

createTileArea();

ここにフィドルがあります:http://jsfiddle.net/QWP3Z/2/

私の質問は:幅と高さが 500px のキャンバスがあり、高さと幅が 50px の 10 個の長方形を生成しているのに、なぜすべて長方形である 6 つの水平方向の正方形と 3 つの垂直方向の正方形が得られるのでしょうか? これはある種のスケーリングの問題ですか?

4

1 に答える 1

5

css スタイルを使用してキャンバスのサイズを変更するのではなく、HTML またはコードで幅と高さを直接変更してください。それ以外の場合、createJs は幅と高さを設定します。これはデフォルトで 300X150 に設定されているようで、css はズームとして機能し、例では 500X500 に戻します。

于 2013-11-01T15:11:09.977 に答える