0

私は現在、キャンバスに慣れるために小さなゲームに取り組んでいます-今、私はこのようなメニュークラスを持っています

function Menu(x,y,width,height,...,game){
    this.x      = x;
    this.y      = y;
    this.width  = width;
    this.height = height;
    // ...

    this.render = function(){
        game.stage.fillRect(this.x, this.y, this.width, this.height); // draw background
        // ...
        game.stage.fillText("MENU", this.x + 20, this.y + 10);
    }
}

this.xthis.yを何らかのデフォルト値として設定できるのでthis.x + ...、メニュー内に何かを配置するたびに書き込む必要はありませんか?

4

1 に答える 1

1

メニュー描画機能の開始時に、シーンをメニュー位置(this.x、this.y)に変換するだけです。後でリセットすることを忘れないでください。

game.stageキャンバスコンテキストオブジェクトだと思います。

game.stage.save();
game.stage.translate(this.x, this.y);

// now (0, 0) becomes (this.x, this.y)
// ... some drawings

game.stage.restore();
于 2012-05-31T14:05:05.273 に答える