我正在制作一个小游戏,以便熟悉画布的东西 - 现在我有一个像这样的菜单类
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.x
和this.y
设置为某种默认值,因此每次我想在菜单中放置内容时,我都不必编写this.x + ...
?
答案 0 :(得分: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();