51 lines
1.6 KiB
JavaScript
51 lines
1.6 KiB
JavaScript
|
|
|||
|
var Stage = function(context,l){
|
|||
|
this.ctx = context;
|
|||
|
this.ctx.fillStyle = "#7f7f7f";
|
|||
|
this.drawHeigth = 15;
|
|||
|
this.level = l;
|
|||
|
this.temp = 0;
|
|||
|
this.dir = 1; //中间切换的方向,1:合上,2:展开
|
|||
|
this.isReady = false;//标识地图是否已经画好
|
|||
|
this.levelNum = new Num(context);
|
|||
|
|
|||
|
this.init = function(level){
|
|||
|
this.dir = 1;
|
|||
|
this.isReady = false;
|
|||
|
this.level = level;
|
|||
|
this.temp = 0;
|
|||
|
};
|
|||
|
|
|||
|
this.draw = function(){
|
|||
|
if(this.dir == 1){
|
|||
|
|
|||
|
//temp = 15*15 灰色屏幕已经画完
|
|||
|
if(this.temp == 225){
|
|||
|
//78,14为STAGE字样在图片资源中的宽和高,194,208为canvas中的位置
|
|||
|
this.ctx.drawImage(RESOURCE_IMAGE, POS["stageLevel"][0], POS["stageLevel"][1], 78, 14, 194, 208, 78, 14);
|
|||
|
//14为数字的宽和高,308, 208为canvas中的位置
|
|||
|
this.levelNum.draw(this.level,308, 208);
|
|||
|
//this.ctx.drawImage(RESOURCE_IMAGE,POS["num"][0]+this.level*14,POS["num"][1],14, 14,308, 208,14, 14);
|
|||
|
//绘制地图,调用main里面的方法
|
|||
|
initMap();
|
|||
|
|
|||
|
}else if(this.temp == 225 + 600){
|
|||
|
//600即调用了600/15次,主要用来停顿
|
|||
|
this.temp = 225;
|
|||
|
this.dir = -1;
|
|||
|
START_AUDIO.play();
|
|||
|
}else{
|
|||
|
this.ctx.fillRect(0, this.temp, 512, this.drawHeigth);
|
|||
|
this.ctx.fillRect(0, 448 - this.temp - this.drawHeigth , 512, this.drawHeigth);
|
|||
|
}
|
|||
|
}else{
|
|||
|
if(this.temp >= 0){
|
|||
|
this.ctx.clearRect(0, this.temp , 512, this.drawHeigth);
|
|||
|
this.ctx.clearRect(0, 448 - this.temp - this.drawHeigth, 512, this.drawHeigth);
|
|||
|
}else{
|
|||
|
this.isReady = true;
|
|||
|
}
|
|||
|
}
|
|||
|
this.temp += this.drawHeigth * this.dir;
|
|||
|
};
|
|||
|
};
|