From 187dde1b50bf32629705793b99a3cf5355f39522 Mon Sep 17 00:00:00 2001 From: Aaron Mueller Date: Wed, 3 Apr 2013 21:51:11 +0200 Subject: [PATCH] Start implementing a pause screen --- dev/lib/game/main.js | 37 +++++++++++++++++++++++++++++++------ dev/media/pause_dialog.png | Bin 0 -> 19955 bytes 2 files changed, 31 insertions(+), 6 deletions(-) create mode 100644 dev/media/pause_dialog.png diff --git a/dev/lib/game/main.js b/dev/lib/game/main.js index 7cecbb1..9dbd951 100755 --- a/dev/lib/game/main.js +++ b/dev/lib/game/main.js @@ -16,19 +16,28 @@ RunningGame = ig.Game.extend({ font: new ig.Font( 'media/04b03.font.png' ), statsBackground: new ig.Image('media/stats_screen.png'), + pauseDialog: new ig.Image('media/pause_dialog.png'), score: {'ai': 1, 'human': 1}, showStats: false, + pause: false, init: function() { - ig.input.bind(ig.KEY.ESC, 'mainmenu'); + ig.input.unbindAll(); + ig.input.bind(ig.KEY.ESC, 'escape'); + ig.input.bind(ig.KEY.ENTER, 'enter'); ig.input.bind(ig.KEY.UP_ARROW, 'up'); ig.input.bind(ig.KEY.DOWN_ARROW, 'down'); ig.input.bind(ig.KEY.T, 'force-top'); ig.input.bind(ig.KEY.B, 'force-bottom'); + // vim goodness ig.input.bind(ig.KEY.K, 'up'); ig.input.bind(ig.KEY.J, 'down'); + // Gamer style + ig.input.bind(ig.KEY.W, 'up'); + ig.input.bind(ig.KEY.S, 'down'); + ig.input.bind(ig.KEY.SPACE, 'endgame'); // Load the level @@ -46,18 +55,30 @@ return; } + // User is in the pause menu + // TODO: Hier gehts weiter .... irgend was stimmt mit dem input state nicht ... + if (this.pause) { + if (ig.input.state('enter')) { + ig.system.setGame(StartScreen); + } + + if (ig.input.state('escape')) { + this.pause = false; + } + } + // One player has won the game if (this.score.ai == 0 || this.score.human == 0) { this.showStats = true; } // The User want back to the main menu inside a running game - if (ig.input.pressed('mainmenu')) { - ig.system.setGame(StartScreen); + if (ig.input.pressed('escape')) { + this.pause = true; } // The game is running - if (!this.showStats) { + if (!this.showStats && !this.pause) { this.parent(); // Update entries and background } }, @@ -72,6 +93,10 @@ this.font.draw('You ' + (this.score.ai == 0 ? 'won!' : 'loose!'), 200, 50, ig.Font.ALIGN.CENTER); this.font.draw('Press [SPACE] to move to the main menu', 200, 100, ig.Font.ALIGN.CENTER); } + + if (this.pause) { + this.pauseDialog.draw(150, 100); + } } }); @@ -79,12 +104,12 @@ background: new ig.Image('media/main_screen.png'), init: function() { - ig.input.bind(ig.KEY.ENTER, 'start'); + ig.input.bind(ig.KEY.ENTER, 'start-game'); //ig.input.bind(ig.KEY.SPACE, 'start'); // FIXME: collides with the stats screen }, update: function() { - if (ig.input.pressed('start')) ig.system.setGame(RunningGame); + if (ig.input.pressed('start-game')) ig.system.setGame(RunningGame); this.parent(); }, diff --git a/dev/media/pause_dialog.png b/dev/media/pause_dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..68942b8fcc9c7bd0ee7397208f6a1d670ccd2923 GIT binary patch literal 19955 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