From 994eaff92bc6342b77bfb1306cce5895ba40c0cf Mon Sep 17 00:00:00 2001 From: photonstorm Date: Wed, 26 Feb 2014 00:58:19 +0000 Subject: [PATCH] StateManager fixes for when you change state in the create function. TilemapLayer update for WebGL. --- .../assets/tilemaps/maps/phaser_tiles.json | 39 +++++ .../assets/tilemaps/tiles/phaser_tiles.png | Bin 0 -> 68033 bytes examples/games/matching pairs.js | 145 +++++++++--------- examples/wip/astro balls.js | 2 +- examples/wip/fixed to cam.js | 7 + examples/wip/index2.php | 119 ++++++++++++++ examples/wip/keyboard.js | 57 +++++++ examples/wip/state parameters.js | 4 +- examples/wip/tilemap1.js | 6 +- src/core/StateManager.js | 16 +- src/tilemap/TilemapLayer.js | 3 +- 11 files changed, 310 insertions(+), 88 deletions(-) create mode 100644 examples/assets/tilemaps/maps/phaser_tiles.json create mode 100644 examples/assets/tilemaps/tiles/phaser_tiles.png create mode 100644 examples/wip/index2.php create mode 100644 examples/wip/keyboard.js diff --git a/examples/assets/tilemaps/maps/phaser_tiles.json b/examples/assets/tilemaps/maps/phaser_tiles.json new file mode 100644 index 00000000..523e0c8e --- /dev/null +++ b/examples/assets/tilemaps/maps/phaser_tiles.json @@ -0,0 +1,39 @@ +{ "height":6, + "layers":[ + { + "data":[3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3], + "height":6, + "name":"Ground", + "opacity":1, + "type":"tilelayer", + "visible":true, + "width":6, + "x":0, + "y":0 + }], + "orientation":"orthogonal", + "properties": + { + + }, + "tileheight":100, + "tilesets":[ + { + "firstgid":1, + "image":"C:\/Program Files (x86)\/Tiled\/examples\/tmw_desert_spacing.png", + "imageheight":607, + "imagewidth":607, + "margin":1, + "name":"Desert", + "properties": + { + + }, + "spacing":1, + "tileheight":100, + "tilewidth":100 + }], + "tilewidth":100, + "version":1, + "width":6 +} \ No newline at end of file diff --git a/examples/assets/tilemaps/tiles/phaser_tiles.png b/examples/assets/tilemaps/tiles/phaser_tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..88540c02e603c9a169a577fa0ed825c197e2606f GIT binary patch literal 68033 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 WmkBU^cV|MtkHww?ruR)q)c*j@Epze! literal 0 HcmV?d00001 diff --git a/examples/games/matching pairs.js b/examples/games/matching pairs.js index 2d35abd6..eea39a97 100644 --- a/examples/games/matching pairs.js +++ b/examples/games/matching pairs.js @@ -1,13 +1,12 @@ // mods by Patrick OReilly -// Twitter: @pato_reilly Web: http://patricko.byethost9.com +// twitter: @pato_reilly var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, update: update, render: render }); function preload() { - game.load.tilemap('matching', 'assets/maps/phaser_tiles.json', null, Phaser.Tilemap.TILED_JSON); - game.load.image('tiles', 'assets/tiles/phaser_tiles.png'); - + game.load.tilemap('matching', 'assets/tilemaps/maps/phaser_tiles.json', null, Phaser.Tilemap.TILED_JSON); + game.load.tileset('tiles', 'assets/tilemaps/tiles/phaser_tiles.png', 100, 100, -1, 1, 1); } var timeCheck = 0; @@ -37,36 +36,39 @@ var tileBack = 25; var timesUp = '+'; var youWin = '+'; + function create() { - map = game.add.tilemap('matching'); + map = game.add.tilemap('matching'); - // tileset = game.add.tileset('tiles'); + tileset = game.add.tileset('tiles'); + + layer = game.add.tilemapLayer(0, 0, 600, 600, tileset, map, 0); - // layer = game.add.tilemapLayer(0, 0, 600, 600, tileset, map, 0); - - marker = game.add.graphics(); - marker.lineStyle(2, 0x00FF00, 1); - marker.drawRect(0, 0, 100, 100); + //layer.resizeWorld(); + marker = game.add.graphics(); + marker.lineStyle(2, 0x00FF00, 1); + marker.drawRect(0, 0, 100, 100); + randomizeTiles(); } function update() { - + countDownTimer(); - + if (layer.getTileX(game.input.activePointer.worldX) <= 5) // to prevent the marker from going out of bounds { marker.x = layer.getTileX(game.input.activePointer.worldX) * 100; marker.y = layer.getTileY(game.input.activePointer.worldY) * 100; } - if (flipFlag == true) + if (flipFlag == true) { - if (game.time.now - timeCheck > 1000) - { + if (game.time.now - timeCheck >1000) + { flipBack(); } } @@ -74,97 +76,93 @@ function update() { { processClick(); } - } - + + function countDownTimer() { - + var timeLimit = 120; - + myTime = game.time.now; - mySeconds = parseInt(myTime / 1000); + mySeconds = parseInt(myTime/1000); myCountdownSeconds = timeLimit - mySeconds; - - if (myCountdownSeconds <= 0) - { + + if (myCountdownSeconds <= 0) + { // time is up - timesUp = 'Time is up!'; + timesUp = 'Time is up!'; } - } function processClick() { - + currentTile = map.getTile(layer.getTileX(marker.x), layer.getTileY(marker.y)); - currentTilePosition = ((layer.getTileY(game.input.activePointer.worldY) + 1) * 6) - (6 - (layer.getTileX(game.input.activePointer.worldX) + 1)); - + currentTilePosition = ((layer.getTileY(game.input.activePointer.worldY)+1)*6)-(6-(layer.getTileX(game.input.activePointer.worldX)+1)); + if (game.input.mousePointer.isDown) - { + { // check to make sure the tile is not already flipped - if (currentTile == tileBack) + if (currentTile == tileBack) { // get the corresponding item out of squareList - currentNum = squareList[currentTilePosition - 1]; + currentNum = squareList[currentTilePosition-1]; flipOver(); - squareCounter++; - + squareCounter++; // is the second tile of pair flipped? - if (squareCounter == 2) + if (squareCounter == 2) { // reset squareCounter squareCounter = 0; square2Num = currentNum; - // check for match if (square1Num == square2Num) { - masterCounter++; - - if (masterCounter == 18) + masterCounter++; + + if (masterCounter == 18) { // go "win" youWin = 'Got them all!'; - } + } } else { savedSquareX2 = layer.getTileX(marker.x); savedSquareY2 = layer.getTileY(marker.y); - flipFlag = true; - timeCheck = game.time.now; - } - } + flipFlag = true; + timeCheck = game.time.now; + } + } else { savedSquareX1 = layer.getTileX(marker.x); savedSquareY1 = layer.getTileY(marker.y); - square1Num = currentNum; - } - } - } + square1Num = currentNum; + } + } + } } - + function flipOver() { - + map.putTile(currentNum, layer.getTileX(marker.x), layer.getTileY(marker.y)); } - + function flipBack() { - + flipFlag = false; - + map.putTile(tileBack, savedSquareX1, savedSquareY1); map.putTile(tileBack, savedSquareX2, savedSquareY2); - + } - + function randomizeTiles() { for (num = 1; num <= 18; num++) { startList.push(num); } - for (num = 1; num <= 18; num++) { startList.push(num); @@ -172,24 +170,24 @@ function randomizeTiles() { // for debugging myString1 = startList.toString(); - + // randomize squareList - for (i = 1; i <= 36; i++) + for (i = 1; i <=36; i++) { - randomPosition = game.rnd.integerInRange(0, startList.length); - - thisNumber = startList[randomPosition]; - + randomPosition = game.rnd.integerInRange(0,startList.length); + + thisNumber = startList[ randomPosition ]; + squareList.push(thisNumber); - + a = startList.indexOf(thisNumber); - - startList.splice(a, 1); + + startList.splice( a, 1); } - + // for debugging myString2 = squareList.toString(); - + for (col = 0; col < 6; col++) { for (row = 0; row < 6; row++) @@ -200,8 +198,8 @@ function randomizeTiles() { } function getHiddenTile() { - - thisTile = squareList[currentTilePosition - 1]; + + thisTile = squareList[currentTilePosition-1]; return thisTile; } @@ -211,7 +209,13 @@ function render() { game.debug.renderText(youWin, 620, 240, 'rgb(0,255,0)'); game.debug.renderText('Time: ' + myCountdownSeconds, 620, 15, 'rgb(0,255,0)'); + + //game.debug.renderText('squareCounter: ' + squareCounter, 620, 272, 'rgb(0,0,255)'); game.debug.renderText('Matched Pairs: ' + masterCounter, 620, 304, 'rgb(0,0,255)'); + + //game.debug.renderText('startList: ' + myString1, 620, 208, 'rgb(255,0,0)'); + //game.debug.renderText('squareList: ' + myString2, 620, 240, 'rgb(255,0,0)'); + game.debug.renderText('Tile: ' + map.getTile(layer.getTileX(marker.x), layer.getTileY(marker.y)), 620, 48, 'rgb(255,0,0)'); game.debug.renderText('LayerX: ' + layer.getTileX(marker.x), 620, 80, 'rgb(255,0,0)'); @@ -219,5 +223,4 @@ function render() { game.debug.renderText('Tile Position: ' + currentTilePosition, 620, 144, 'rgb(255,0,0)'); game.debug.renderText('Hidden Tile: ' + getHiddenTile(), 620, 176, 'rgb(255,0,0)'); - -} +} \ No newline at end of file diff --git a/examples/wip/astro balls.js b/examples/wip/astro balls.js index ce9069de..d1b1901b 100644 --- a/examples/wip/astro balls.js +++ b/examples/wip/astro balls.js @@ -1,5 +1,5 @@ -var game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser-example', { preload: preload, create: create, update: update, render: render }); +var game = new Phaser.Game(800, 600, Phaser.WEBGL, 'phaser-example', { preload: preload, create: create, update: update, render: render }); function preload() { diff --git a/examples/wip/fixed to cam.js b/examples/wip/fixed to cam.js index eb62ea43..08920976 100644 --- a/examples/wip/fixed to cam.js +++ b/examples/wip/fixed to cam.js @@ -41,6 +41,13 @@ function create() { var text2 = game.add.bitmapText(200, 500, 'desyrel', 'camera fixies', 32); text2.fixedToCamera = true; + // Test fixing a Graphics object to the Camera + var graphics = game.add.graphics(0, 0); + graphics.fixedToCamera = true; + graphics.beginFill(0xFF3300); + graphics.lineStyle(2, 0x0000FF, 1); + graphics.drawRect(50, 250, 100, 100); + // Button! do mouse events still work then? game.camera.follow(mushroom); diff --git a/examples/wip/index2.php b/examples/wip/index2.php new file mode 100644 index 00000000..a7a73672 --- /dev/null +++ b/examples/wip/index2.php @@ -0,0 +1,119 @@ + $value) + { + if (is_array($value) && count($value) > 0) + { + $total += count($value); + } + } + + function getFile() { + + global $files, $dir, $filename, $title, $code; + + if (isset($_GET['d']) && isset($_GET['f'])) + { + $dir = urldecode($_GET['d']); + $filename = urldecode($_GET['d']) . '/' . urldecode($_GET['f']); + $title = urldecode($_GET['t']); + + if (file_exists($filename)) + { + $code = file_get_contents($filename); + $files = dirToArray($dir); + } + } + + } + + function dirToArray($dir) { + + $ignore = array('.', '..', '_site', 'assets', 'gfx', 'states', 'book', 'filters', 'misc'); + $result = array(); + $root = scandir($dir); + $dirs = array_diff($root, $ignore); + + foreach ($dirs as $key => $value) + { + if (is_dir($dir . DIRECTORY_SEPARATOR . $value)) + { + $result[$value] = dirToArray($dir . DIRECTORY_SEPARATOR . $value); + } + else + { + if (substr($value, -3) == '.js') + { + $result[] = $value; + } + } + } + + return $result; + } + + function printJSLinks($dir, $files) { + + $output = ""; + + foreach ($files as $key => $value) + { + $value2 = substr($value, 0, -3); + $file = urlencode($value); + + $output .= "$value2
"; + } + + return $output; + + } +?> + + + + + + phaser + + + + + + + + + + +
+ + + + +
+ +

work in progress examples

+ + + +
+ + + \ No newline at end of file diff --git a/examples/wip/keyboard.js b/examples/wip/keyboard.js new file mode 100644 index 00000000..a287dc2a --- /dev/null +++ b/examples/wip/keyboard.js @@ -0,0 +1,57 @@ + +// var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, update: update, render: render }); +var game = new Phaser.Game(800, 600, Phaser.WEBGL, 'phaser-example', { preload: preload, create: create, update: update, render: render }); + +function preload() { + + game.load.image('ship', 'assets/sprites/thrust_ship2.png'); + +} + +var ship; +var cursors; + +function create() { + + game.stage.backgroundColor = '#2d2d2d'; + + ship = game.add.sprite(200, 200, 'ship'); + ship.physicsEnabled = true; + // We do this because our ship is shaped like a triangle, not a square :) + ship.body.addPolygon({}, 29, 23 , 0, 23 , 14, 1); + + cursors = game.input.keyboard.createCursorKeys(); + +} + +function update() { + + if (cursors.left.isDown) + { + ship.body.rotateLeft(100); + } + else if (cursors.right.isDown) + { + ship.body.rotateRight(100); + } + else + { + ship.body.setZeroRotation(); + } + + if (cursors.up.isDown) + { + ship.body.thrust(400); + } + else if (cursors.down.isDown) + { + ship.body.reverse(400); + } + +} + +function render() { + + game.debug.renderPhysicsBody(ship.body); + +} diff --git a/examples/wip/state parameters.js b/examples/wip/state parameters.js index c88ba121..2f2e402e 100644 --- a/examples/wip/state parameters.js +++ b/examples/wip/state parameters.js @@ -21,6 +21,7 @@ BasicGame.Boot.prototype = { create: function () { + console.log('Boot create'); this.game.state.start('Preloader', true, false, this.a, this.b); } @@ -48,6 +49,7 @@ BasicGame.Preloader.prototype = { create: function () { + console.log('Preloader create'); this.game.state.start('MainMenu', true, false, this.a, this.b); } @@ -89,4 +91,4 @@ game.state.add('Boot', BasicGame.Boot); game.state.add('Preloader', BasicGame.Preloader); game.state.add('MainMenu', BasicGame.MainMenu); -game.state.start('Boot'); +game.state.start('Boot', true, false, 'hello', 'world'); diff --git a/examples/wip/tilemap1.js b/examples/wip/tilemap1.js index a1b2737e..fccd7f2c 100644 --- a/examples/wip/tilemap1.js +++ b/examples/wip/tilemap1.js @@ -1,6 +1,6 @@ -var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, update: update, render: render }); -// var game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser-example', { preload: preload, create: create, update: update, render: render }); +// var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, update: update, render: render }); +var game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser-example', { preload: preload, create: create, update: update, render: render }); function preload() { @@ -36,7 +36,7 @@ function create() { layer = map.createLayer('Tile Layer 1'); - layer.resizeWorld(); + // layer.resizeWorld(); map.setCollisionBetween(1, 12); diff --git a/src/core/StateManager.js b/src/core/StateManager.js index 081e5dcd..ac25f136 100644 --- a/src/core/StateManager.js +++ b/src/core/StateManager.js @@ -141,13 +141,12 @@ Phaser.StateManager.prototype = { if (typeof this._pendingState === 'string') { // State was already added, so just start it - this.start(this._pendingState, false, false); + // this.start(this._pendingState, false, false); } else { this.add('default', this._pendingState, true); } - } }, @@ -251,12 +250,6 @@ Phaser.StateManager.prototype = { { this._args = Array.prototype.splice.call(arguments, 3); } - - // Already got a state running? - if (this.current) - { - this.onShutDownCallback.call(this.callbackContext, this.game); - } } }, @@ -307,7 +300,6 @@ Phaser.StateManager.prototype = { if (this.game.load.totalQueuedFiles() === 0) { this.loadComplete(); - // this.game.loadComplete(); } else { @@ -319,10 +311,12 @@ Phaser.StateManager.prototype = { { // No init? Then there was nothing to load either this.loadComplete(); - // this.game.loadComplete(); } - this._pendingState = null; + if (this.current === this._pendingState) + { + this._pendingState = null; + } } }, diff --git a/src/tilemap/TilemapLayer.js b/src/tilemap/TilemapLayer.js index 0f53eedb..85c61bb2 100644 --- a/src/tilemap/TilemapLayer.js +++ b/src/tilemap/TilemapLayer.js @@ -669,7 +669,8 @@ Phaser.TilemapLayer.prototype.render = function () { // Only needed if running in WebGL, otherwise this array will never get cleared down I don't think! if (this.game.renderType === Phaser.WEBGL) { - PIXI.texturesToUpdate.push(this.baseTexture); + // PIXI.updateWebGLTexture(this.baseTexture, renderSession.gl); + PIXI.updateWebGLTexture(this.baseTexture, this.game.renderer.gl); } this.dirty = false;