uberpong/dev/lib/game/main.js
2012-06-24 14:30:33 +02:00

64 lines
1.4 KiB
JavaScript
Executable file

ig.module(
'game.main'
)
.requires(
'impact.game',
'impact.font',
'game.entities.ball',
'game.entities.paddle-enemy',
'game.entities.paddle-player',
'game.levels.level1'
)
.defines(function(){
RunningGame = ig.Game.extend({
font: new ig.Font( 'media/04b03.font.png' ),
init: function() {
ig.input.bind(ig.KEY.ESC, 'mainmenu');
ig.input.bind(ig.KEY.UP_ARROW, 'up');
ig.input.bind(ig.KEY.DOWN_ARROW, 'down');
// vim goodness
ig.input.bind(ig.KEY.K, 'up');
ig.input.bind(ig.KEY.J, 'down');
// Load the level
this.loadLevel( LevelLevel1 );
},
update: function() {
if (ig.input.pressed('mainmenu')) ig.system.setGame(StartScreen);
this.parent(); // Update entries and background
},
draw: function() {
this.parent(); // Draw entries and background
}
});
StartScreen = ig.Game.extend({
background: new ig.Image('media/main_screen.png'),
init: function() {
ig.input.bind(ig.KEY.ENTER, 'start');
ig.input.bind(ig.KEY.SPACE, 'start');
},
update: function() {
if (ig.input.pressed('start')) ig.system.setGame(RunningGame);
this.parent();
},
draw: function() {
this.parent();
this.background.draw(0, 0);
}
});
// Start the Game with 60fps, a resolution of 640x400 (16:10), scaled
// up by a factor of 2
ig.main( '#canvas', StartScreen, 60, 624, 384, 1 );
});