mirror of
https://github.com/hexahigh/games.git
synced 2025-12-11 20:15:38 +01:00
74 lines
2.8 KiB
JavaScript
74 lines
2.8 KiB
JavaScript
game.TitleScreen = me.ScreenObject.extend({
|
|
init: function(){
|
|
this._super(me.ScreenObject, 'init');
|
|
this.font = null;
|
|
this.ground1 = null;
|
|
this.ground2 = null;
|
|
this.logo = null;
|
|
},
|
|
|
|
onResetEvent: function() {
|
|
me.audio.stop("theme");
|
|
game.data.newHiScore = false;
|
|
|
|
me.game.world.addChild(new BackgroundLayer('bg', 1));
|
|
me.input.bindKey(me.input.KEY.ENTER, "enter", true);
|
|
me.input.bindKey(me.input.KEY.SPACE, "enter", true);
|
|
me.input.bindPointer(me.input.pointer.LEFT, me.input.KEY.ENTER);
|
|
|
|
this.handler = me.event.subscribe(me.event.KEYDOWN, function (action, keyCode, edge) {
|
|
if (action === "enter") {
|
|
me.state.change(me.state.PLAY);
|
|
}
|
|
});
|
|
|
|
//logo
|
|
this.logo = new me.Sprite(
|
|
me.game.viewport.width/2,
|
|
me.game.viewport.height/2 - 20,
|
|
{image: 'logo'}
|
|
);
|
|
me.game.world.addChild(this.logo, 10);
|
|
|
|
var that = this;
|
|
var logoTween = me.pool.pull("me.Tween", this.logo.pos)
|
|
.to({y: me.game.viewport.height/2 - 100}, 1000)
|
|
.easing(me.Tween.Easing.Exponential.InOut).start();
|
|
|
|
this.ground1 = me.pool.pull("ground", 0, me.video.renderer.getHeight() - 96);
|
|
this.ground2 = me.pool.pull("ground", me.video.renderer.getWidth(),
|
|
me.video.renderer.getHeight() - 96);
|
|
me.game.world.addChild(this.ground1, 11);
|
|
me.game.world.addChild(this.ground2, 11);
|
|
|
|
me.game.world.addChild(new (me.Renderable.extend ({
|
|
// constructor
|
|
init: function() {
|
|
// size does not matter, it's just to avoid having a zero size
|
|
// renderable
|
|
this._super(me.Renderable, 'init', [0, 0, 100, 100]);
|
|
this.text = me.device.touch ? 'Tap to start' : 'PRESS SPACE OR CLICK LEFT MOUSE BUTTON TO START \n\t\t\t\t\t\t\t\t\t\t\tPRESS "M" TO MUTE SOUND';
|
|
this.font = new me.Font('gamefont', 20, '#000');
|
|
},
|
|
draw: function (renderer) {
|
|
var measure = this.font.measureText(renderer, this.text);
|
|
var xpos = me.game.viewport.width/2 - measure.width/2;
|
|
var ypos = me.game.viewport.height/2 + 50;
|
|
this.font.draw(renderer, this.text, xpos, ypos);
|
|
}
|
|
})), 12);
|
|
},
|
|
|
|
onDestroyEvent: function() {
|
|
// unregister the event
|
|
me.event.unsubscribe(this.handler);
|
|
me.input.unbindKey(me.input.KEY.ENTER);
|
|
me.input.unbindKey(me.input.KEY.SPACE);
|
|
me.input.unbindPointer(me.input.pointer.LEFT);
|
|
this.ground1 = null;
|
|
this.ground2 = null;
|
|
me.game.world.removeChild(this.logo);
|
|
this.logo = null;
|
|
}
|
|
});
|