From eddce653e9033c8a5928b6c94963dc97a5912a21 Mon Sep 17 00:00:00 2001 From: photonstorm Date: Wed, 5 Feb 2014 21:02:41 +0000 Subject: [PATCH] Preparing for 1.1.5 development. --- README.md | 169 ++------------------------------------------- bower.json | 2 +- changelog.md | 176 +++++++++++++++++++++++++++++++++++++++++++++++ package.json | 2 +- src/IntroDocs.js | 15 ---- src/Phaser.js | 2 +- 6 files changed, 183 insertions(+), 183 deletions(-) delete mode 100644 src/IntroDocs.js diff --git a/README.md b/README.md index 5338ceda..152278d4 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ ![Phaser Logo](http://www.photonstorm.com/wp-content/uploads/2013/09/phaser_10_release.jpg) -Phaser 1.1.4 -============ +Phaser 1.1.5-dev +================ Phaser is a fast, free and fun open source game framework for making desktop and mobile browser HTML5 games. It uses [Pixi.js](https://github.com/GoodBoyDigital/pixi.js/) internally for fast 2D Canvas and WebGL rendering. -Version: 1.1.4 "Kandor" - Released: February 5th 2014 +Version: 1.1.5 "Saldaea" - Released: -in development- By Richard Davey, [Photon Storm](http://www.photonstorm.com) @@ -57,179 +57,22 @@ There is also an [un-official Getting Started Guide](http://www.antonoffplus.com Change Log ---------- -Version 1.1.4 - "Kandor" - February 5th 2014 +Version 1.1.5 - "Saldaea" - -in development- Significant API changes: -* Loader.tileset has been removed as it's no longer required, this was as part of the Tilemap system overhaul. -* TilemapLayers are now created via the Tilemap object itself: map.createLayer(x, y, width, height, tileset, layer, group) and no longer via the GameObjectFactory. -* Tilemap.createFromObjects can now turn a bunch of Tiled objects into Sprites in one single call, and copies across all properties as well. -* Tween.onStartCallback and onCompleteCallback have been removed to avoid confusion. You should use the onStart, onLoop and onComplete events instead. -* Button.forceOut default value has changed from true to false, so Buttons will revert to an Up state (if set) when pressed and released. -* The way the collision process callback works has changed significantly and now works as originally intended. -* The World level quadtree is no longer created, they are now built and ripped down each time you collide a Group, this helps collision accuracy. -* A SAT system has been integrated for Body collision and separation. -* Bodies are no longer added to a world quadtree, so have had all of their quadtree properties removed such as skipQuadtree, quadTreeIndex, etc. -* Body.drag has been removed. Please use the new Body.linearDamping value instead (which is a number value, not a Point object) -* Body.embedded and Body.wasTouching have been removed as they are no longer required. -* Body.customSeparateX/Y have been removed as you should now use Body.customSeparateCallback. -* Body.maxVelocity defaults have been removed from 10,000 to 2000. -* Body.customSeparateCallback allows you to set your own callback when two Bodies need to separate rather than using the built-in method. -* Body.collideCallback allows you to set a callback that is fired whenever the Body is hit on any of its active faces. -* Body.allowCollision has been renamed to Body.checkCollision. -* Body.rebound is a boolean that controls if a body will exchange velocity on collision. Set to false to allow it to be 'pushed' (see new examples). -* Removed Body.deltaAbsX and deltaAbsY as they are no longer used internally. -* Body.screenX and screenY moved to getters, no longer calculated every frame. -* ArcadePhysics now has setBounds and setBoundsToWorld, and you can specify which walls are created or not (left, right, up, down) -* Removed: Debug.renderSpriteTouching, Debug.renderLocalTransformInfo, Debug.renderWorldTransformInfo, Debug.renderSpriteCollision and Debug.dumpLinkedList. -* Body.setSize has been removed. Please use Body.setCircle, setRectangle or setPolygon instead. - New features: -* Phaser.Timer is now feature complete and fully documented. You can create Phaser.TimerEvents on a Timer and lots of new examples have been provided. -* Gamepad API support has been added with lots of new examples (thanks Karl Macklin) -* Phaser.Game constructor can now be passed a single object containing all of your game settings + Stage settings. Useful for advanced configurations. -* The width/height given to Phaser.Game can now be percentages, i.e. "100%" will set the width to the maximum window innerWidth. -* Added a stage.fullScreenScaleMode property to determine scaling when fullscreen (thanks oysterCrusher) -* Added support for margin and spacing around a frame in Loader.spritesheet. -* Added Device.vibration to check if the Vibration API is available or not. -* Added Device.trident and Device.tridentVersion for testing IE11. -* Added Device.silk for detecting a Kindle Fire and updated desktop OS check to exclude Kindles (thanks LuckieLordie) -* TilemapLayers now have debug and debugAlpha values, this turns on the drawing of the collision edges (very handy for debugging, as the name implies!) -* Tweens have a new event: onLoop. -* You can now load any binary file via the Loader: game.load.binary(key, url, callback) - the optional callback allows for post-load processing before entering the Cache. -* Group.set will let you deep set a new propery on a single child of the Group. -* Stage.display property added. A direct reference to the root Pixi Stage object (very useful for RenderTexture manipulation) -* Added Ejecta detection to Device (thanks endel) -* Tweens can now work with relative + and - values. You can do: `tween(sprite).to( { x: '+400' })` and it will add 400 to the current sprite.x value. -* Buttons now properly use their upFrame if set. -* InputHandler now has snapOffsetX and snapOffsetY properties so your snap grid doesn't have to be 0,0 aligned (thanks srmeier) -* Loader.progressFloat contains the actual non-rounded progress value, where-as Loader.progress contains a rounded value. Use progressFloat if you've > 100 files to load. -* Groups can now be added to other Groups as children via group.add() and group.addAt() -* Groups now have an 'alive' property, which can be useful when iterating through child groups with functions like forEachAlive. -* Added a new Project Template "Full Screen Mobile" which you can find in the resources folder. Contains html / css / layout needed for a deployed Phaser game. -* Body.speed - the current speed of the body. -* Body.angle - the current angle the Body is facing based on its velocity. This is not the same as the Sprite angle that may own the body. -* Body.linearDamping - This now replaces Body.drag and provides for a much smoother damping (friction) experience. -* Body.minBounceVelocity - If a Body has bounce set, this threshold controls if it should rebound or not. Use it to stop 'jittering' on bounds/tiles with super-low velocities. -* QuadTree.populate - you can pass it a Group and it'll automatically insert all of the children ready for inspection. -* Input.setMoveCallback allows you to set a callback that will be fired each time the activePointer receives a DOM move event. -* Math.distancePow(x1,y1,x2,y2,power) returns the distance between two coordinates at the given power. -* Physics.collide now supports the 2nd parameter as an array, for when you want to collide an object against a number of sprites that aren't all in the same Group. -* Physics.overlap now supports the 2nd parameter as an array, for when you want to overlap test an object against a number of sprites that aren't all in the same Group. -* Math.reverseAngle - reverses an angle (in radians). -* Math.normalizeAngle - normalises an angle, now in radians only. -* Math.normalizeLatitude - Normalizes a latitude to the [-90,90] range. -* Math.normalizeLongitude - Normalizes a longitude to the [-180,180] range. -* Phaser.Line added to the geometry classes, with full point on line/segment and intersection tests (see new examples) -* Phaser.CANVAS_PX_ROUND is a boolean. If 'true' the Canvas renderer will Math.floor() all coordinates before drawImage, stopping pixel interpolation. Defaults to false. -* Phaser.CANVAS_CLEAR_RECT is a boolean. If 'true' (the default) it will context.clearRect() every frame. If false this is skipped (useful if you know you don't need it) -* Collision now works between Sprites positioned via sprite.x/y, sprite.body.x/y or sprite.body.velocity. -* If you are tweening a sprite and still want physics collision, set `sprite.body.moves = false` otherwise it will fight against the tween motion. -* Game.enableStep will enable core game loop stepping. When enabled you must call game.step() directly (perhaps via a DOM button?), very useful for debugging! -* Game.disableStep turns core update loop stepping off. -* Debug.renderPhysicsBody(body, color) is extremely useful for debugging the new physics bodies. Will draw the outline + points in the color given. -* Debug.renderBodyInfo(sprite, x, y, color) will display lots of Sprite body data. -* Sprite.events.onBeginContact will be fired when a Body makes contact with another Body. Once contact is over an onEndContact event will be dispatched. - New Examples: -* Physics - Bounce by Patrick OReilly. -* Physics - Bounce with gravity by Patrick OReilly. -* Physics - Bounce accelerator (use the keyboard) by Patrick OReilly. -* Physics - Bounce knock (use the keyboard) by Patrick OReilly. -* Physics - Snake (use the keyboard to control the snake like creature) by Patrick OReilly and Richard Davey. -* Physics - Launcher - Angry Birds style ball launcher demo by Patrick OReilly. -* Physics - Launcher Follow - throw the sprite anywhere in the world by Patrick OReilly. -* Physics - Launcher Follow World - an advanced version of the Launcher Follow example by Patrick OReilly. -* Input - Touch Joystick example showing how to use the clay.io virtual game controller (thanks gabehollombe) -* Games - Matching Pairs by Patrick OReilly. -* Games - Simon Says by Patrick OReilly. -* Tweens - Example showing how to use the tween events, onStart, onLoop and onComplete. -* Display - Pixi Render Texture. A Phaser conversion of the Pixi.js Render Texture example. -* Input - 5 new examples showing how to use the Gamepad API (thanks Karl Macklin) -* Animation - Group Creation, showing how to create animations across all Group children in one call. -* Particles - Rain by Jens Anders Bakke. -* Particles - Snow by Jens Anders Bakke. -* Groups - Nested Groups - showing how to embed one Group into another Group. -* Time - Lots of new examples showing how to use the updated Phaser.Timer class. - Updates: -* Updated to latest Pixi.js dev branch build (pre 1.4 release) -* When a Sprite is destroyed any active filters are removed at the same time. -* Updated Pixi.js so that removing filters now works correctly without breaking the display list. -* Phaser.Canvas.create updated so it can be given an ID as the 3rd parameter (can also be set via new Game configuration object). -* Updated display/fullscreen example to reflect new full screen change. -* Loads of updates to the TypeScript definitions files - games fully compile now and lots of missing classes added :) (thanks Niondir) -* Removed 'null parent' check from Group constructor. Will parent to game.world only if parent value is undefined. -* The tutorials have now been translated into Spanish - thanks feiss :) -* separateY updated to re-implement the 'riding platforms' special condition (thanks cocoademon) -* SoundManager.onSoundDecode now dispatches the key followed by the sound object, also now dispatched by the Cache when doing an auto-decode on load. -* Switch method of using trimmed sprites to support scaling and rotation (thanks cocoademon) -* Most of the GameObjectFactory functions now have a group parameter, so you can do: game.add.sprite(x, y, frame, frameName, group) rather than defaulting to the World group. -* Group.countLiving and countDead used to return -1 if the Group was empty, but now return 0. -* Text can now be fixedToCamera, updated world/fixed to camera example to show this. -* ArcadePhysics.overlap and collide now recognise TileSprites in the collision checks. -* Lots of documentation fixes in the Tween class. -* Tweens fire an onLoop event if they are set to repeat. onComplete is now only fired for the final repeat (or never if the repeat is infinite) -* Pointer used to un-pause a paused game every time it was clicked/touched (this avoided some rogue browser plugins). Now only happens if Stage.disableVisibilityChange is true. -* Input doesn't set the cursor to default if it's already set to none. -* You can now collide a group against itself. This will check all children against each other, but not themselves (thanks cocoademon) -* RenderTexture.render / renderXY has a new parameter: renderHidden, a boolean which will allow you to render Sprites even if their visible is set to false. -* Added in prototype.constructor definitions to every class (thanks darkoverlordofdata) -* Group.destroy has a new parameter: destroyChildren (boolean) which will optionally call the destroy method of all Group children. -* Button.clearFrames method has been added. -* Device.quirksMode is a boolean that informs you if the page is in strict (false) or quirks (true) mode. -* Canvas.getOffset now runs a strict/quirks check and uses document.documentElement when calculating scrollTop and scrollLeft to avoid Chrome console warnings. -* The Time class now has its own Phaser.Timer which you can access through game.time.events. See the new Timer examples to show how to use them. -* Added StateManager.getCurrentState to return the currently running State object (thanks Niondir) -* Removed the console.log redirect from Utils as it was messing with Firefox. -* Body.acceleration is now much smoother and less eratic at high speeds. -* Removed ArcadePhysics binding to the QuadTree, so it can now be used independantly of the physics system. -* Removed ArcadePhysics.preUpdate and postUpdate as neither are needed any more. -* Body.bottom and Body.right are no longer rounded, so will give accurate sub-pixel values. -* Fixed lots of documentation in the Emitter class. -* The delta timer value used for physics calculations has had its cap limit modified from 1.0 to 0.05 in line with the core updates. -* Phaser.Math.min enhanced so you can now pass in either an array of numbers or lots of numbers as parameters to get the lowest. -* Phaser.Math.max added as the opposite of Math.min. -* Phaser.Math.minProperty and maxProperty added. Like Math.min/max but can be given a property an an array or list of objects to inspect. -* Added 'full' paramter to Body.reset, allowing you to control if motion or all data is reset or not. -* Exposed Group.pivot and Sprite.pivot to allow you to directly set the pivot points for rotation. -* Swapped to using the native and faster Array.isArray check. -* Added callback context parameter to Tween.onUpdateCallback(callback, context) to avoid having to bind or create anonymous functions. -* Updated TweenManager.removeAll so it flags all tweens as pendingDelete rather than nuking the array, to avoid tween callback array size errors (thanks DarkDev) - Bug Fixes: -* Cache.getImageKeys returned __missing in the array, now excluded. -* Fixed Group.scale so you can now scale a Group directly. -* Removed World.scale as it was preventing Group.scale from working - you can still scale the world, but you'll need to factor in Input changes yourself. -* Moved 'dirty' flag for Tilemap to a per-layer flag. Fixes #242 -* Group.length now returns the number of children in the Group regardless of their exists/alive state, or 0 if the Group has no children. -* Switch Camera.setBoundsToWorld to match world.bounds instead of world (thanks cocoademon) -* Fixed an issue where passing null as the Group parent wouldn't set it to game.world as it should have (thanks tito100) -* Fixed Pixi bug (#425) incorrect width property for multi-line BitmapText (thanks jcd-as) -* Tween.onStart is now called when the tween starts AFTER the delay value, if given (thanks stevenbouma) -* Sprites that are fixedToCamera can now be input dragged regardless of world position (thanks RafaelOliveira) -* RenderTexture now displays correctly in Canvas games. -* Canvas.addToDOM is now more robust when applying the overflowHidden style. -* Fixed Pixi.StripShader which should stop the weird TileSprite GPU issues some were reporting (thanks GoodboyDigital) -* Patched desyrel.xml so it doesn't contain any zero width/height characters, as they broke Firefox 25. -* Cache.addSound now implements a locked attribute (thanks haden) -* Sound now checks for CocoonJS during playback to avoid readyState clash (thanks haden) -* Buttons now clear previously set frames correctly if you call setFrames. -* Sounds will now loop correctly if they are paused and resumed (thanks haden) -* InputHandler.checkBoundsRect and checkBoundsSprite now take into account if the Sprite is fixedToCamera or not. -* Removed the frame property from TileSprites as it cannot use them, it tiles the whole image only, not just a section of it. -* Fixed WebGLRenderer updateGraphics bug (thanks theadam) -* Removed duplicate Timer.create line (thanks hstolte) -* Fixed issue with the camera being slightly out of sync with 'fixedToCamera' sprites. -* 1px camera jitter issue fixed where map is same size, or smaller than the game size. You can view the Change Log for all previous versions at https://github.com/photonstorm/phaser/changelog.md @@ -379,10 +222,6 @@ Road Map Here is what's on our road map for the coming months: -Version 1.1.5 ("Saldaea") - -* A fast turn-around point release that will focus on addressing any bugs that occured as a result of the large changes that took place in 1.1.4. - Version 1.2 ("Shienar") * Update to Pixi 1.4 - this newly released build has lots of internal changes and new features we want to take advantage of. diff --git a/bower.json b/bower.json index 70ab4e24..e16a55b9 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "phaser", - "version": "1.1.4", + "version": "1.1.5", "homepage": "http://phaser.io", "authors": [ "photonstorm " diff --git a/changelog.md b/changelog.md index b8556ae2..d4338b3f 100644 --- a/changelog.md +++ b/changelog.md @@ -1,6 +1,182 @@ Change Log ========== +Version 1.1.4 - "Kandor" - February 5th 2014 +-------------------------------------------- + +Significant API changes: + +* Loader.tileset has been removed as it's no longer required, this was as part of the Tilemap system overhaul. +* TilemapLayers are now created via the Tilemap object itself: map.createLayer(x, y, width, height, tileset, layer, group) and no longer via the GameObjectFactory. +* Tilemap.createFromObjects can now turn a bunch of Tiled objects into Sprites in one single call, and copies across all properties as well. +* Tween.onStartCallback and onCompleteCallback have been removed to avoid confusion. You should use the onStart, onLoop and onComplete events instead. +* Button.forceOut default value has changed from true to false, so Buttons will revert to an Up state (if set) when pressed and released. +* The way the collision process callback works has changed significantly and now works as originally intended. +* The World level quadtree is no longer created, they are now built and ripped down each time you collide a Group, this helps collision accuracy. +* A SAT system has been integrated for Body collision and separation. +* Bodies are no longer added to a world quadtree, so have had all of their quadtree properties removed such as skipQuadtree, quadTreeIndex, etc. +* Body.drag has been removed. Please use the new Body.linearDamping value instead (which is a number value, not a Point object) +* Body.embedded and Body.wasTouching have been removed as they are no longer required. +* Body.customSeparateX/Y have been removed as you should now use Body.customSeparateCallback. +* Body.maxVelocity defaults have been removed from 10,000 to 2000. +* Body.customSeparateCallback allows you to set your own callback when two Bodies need to separate rather than using the built-in method. +* Body.collideCallback allows you to set a callback that is fired whenever the Body is hit on any of its active faces. +* Body.allowCollision has been renamed to Body.checkCollision. +* Body.rebound is a boolean that controls if a body will exchange velocity on collision. Set to false to allow it to be 'pushed' (see new examples). +* Removed Body.deltaAbsX and deltaAbsY as they are no longer used internally. +* Body.screenX and screenY moved to getters, no longer calculated every frame. +* ArcadePhysics now has setBounds and setBoundsToWorld, and you can specify which walls are created or not (left, right, up, down) +* Removed: Debug.renderSpriteTouching, Debug.renderLocalTransformInfo, Debug.renderWorldTransformInfo, Debug.renderSpriteCollision and Debug.dumpLinkedList. +* Body.setSize has been removed. Please use Body.setCircle, setRectangle or setPolygon instead. + + +New features: + +* Phaser.Timer is now feature complete and fully documented. You can create Phaser.TimerEvents on a Timer and lots of new examples have been provided. +* Gamepad API support has been added with lots of new examples (thanks Karl Macklin) +* Phaser.Game constructor can now be passed a single object containing all of your game settings + Stage settings. Useful for advanced configurations. +* The width/height given to Phaser.Game can now be percentages, i.e. "100%" will set the width to the maximum window innerWidth. +* Added a stage.fullScreenScaleMode property to determine scaling when fullscreen (thanks oysterCrusher) +* Added support for margin and spacing around a frame in Loader.spritesheet. +* Added Device.vibration to check if the Vibration API is available or not. +* Added Device.trident and Device.tridentVersion for testing IE11. +* Added Device.silk for detecting a Kindle Fire and updated desktop OS check to exclude Kindles (thanks LuckieLordie) +* TilemapLayers now have debug and debugAlpha values, this turns on the drawing of the collision edges (very handy for debugging, as the name implies!) +* Tweens have a new event: onLoop. +* You can now load any binary file via the Loader: game.load.binary(key, url, callback) - the optional callback allows for post-load processing before entering the Cache. +* Group.set will let you deep set a new propery on a single child of the Group. +* Stage.display property added. A direct reference to the root Pixi Stage object (very useful for RenderTexture manipulation) +* Added Ejecta detection to Device (thanks endel) +* Tweens can now work with relative + and - values. You can do: `tween(sprite).to( { x: '+400' })` and it will add 400 to the current sprite.x value. +* Buttons now properly use their upFrame if set. +* InputHandler now has snapOffsetX and snapOffsetY properties so your snap grid doesn't have to be 0,0 aligned (thanks srmeier) +* Loader.progressFloat contains the actual non-rounded progress value, where-as Loader.progress contains a rounded value. Use progressFloat if you've > 100 files to load. +* Groups can now be added to other Groups as children via group.add() and group.addAt() +* Groups now have an 'alive' property, which can be useful when iterating through child groups with functions like forEachAlive. +* Added a new Project Template "Full Screen Mobile" which you can find in the resources folder. Contains html / css / layout needed for a deployed Phaser game. +* Body.speed - the current speed of the body. +* Body.angle - the current angle the Body is facing based on its velocity. This is not the same as the Sprite angle that may own the body. +* Body.linearDamping - This now replaces Body.drag and provides for a much smoother damping (friction) experience. +* Body.minBounceVelocity - If a Body has bounce set, this threshold controls if it should rebound or not. Use it to stop 'jittering' on bounds/tiles with super-low velocities. +* QuadTree.populate - you can pass it a Group and it'll automatically insert all of the children ready for inspection. +* Input.setMoveCallback allows you to set a callback that will be fired each time the activePointer receives a DOM move event. +* Math.distancePow(x1,y1,x2,y2,power) returns the distance between two coordinates at the given power. +* Physics.collide now supports the 2nd parameter as an array, for when you want to collide an object against a number of sprites that aren't all in the same Group. +* Physics.overlap now supports the 2nd parameter as an array, for when you want to overlap test an object against a number of sprites that aren't all in the same Group. +* Math.reverseAngle - reverses an angle (in radians). +* Math.normalizeAngle - normalises an angle, now in radians only. +* Math.normalizeLatitude - Normalizes a latitude to the [-90,90] range. +* Math.normalizeLongitude - Normalizes a longitude to the [-180,180] range. +* Phaser.Line added to the geometry classes, with full point on line/segment and intersection tests (see new examples) +* Phaser.CANVAS_PX_ROUND is a boolean. If 'true' the Canvas renderer will Math.floor() all coordinates before drawImage, stopping pixel interpolation. Defaults to false. +* Phaser.CANVAS_CLEAR_RECT is a boolean. If 'true' (the default) it will context.clearRect() every frame. If false this is skipped (useful if you know you don't need it) +* Collision now works between Sprites positioned via sprite.x/y, sprite.body.x/y or sprite.body.velocity. +* If you are tweening a sprite and still want physics collision, set `sprite.body.moves = false` otherwise it will fight against the tween motion. +* Game.enableStep will enable core game loop stepping. When enabled you must call game.step() directly (perhaps via a DOM button?), very useful for debugging! +* Game.disableStep turns core update loop stepping off. +* Debug.renderPhysicsBody(body, color) is extremely useful for debugging the new physics bodies. Will draw the outline + points in the color given. +* Debug.renderBodyInfo(sprite, x, y, color) will display lots of Sprite body data. +* Sprite.events.onBeginContact will be fired when a Body makes contact with another Body. Once contact is over an onEndContact event will be dispatched. + + +New Examples: + +* Physics - Bounce by Patrick OReilly. +* Physics - Bounce with gravity by Patrick OReilly. +* Physics - Bounce accelerator (use the keyboard) by Patrick OReilly. +* Physics - Bounce knock (use the keyboard) by Patrick OReilly. +* Physics - Snake (use the keyboard to control the snake like creature) by Patrick OReilly and Richard Davey. +* Physics - Launcher - Angry Birds style ball launcher demo by Patrick OReilly. +* Physics - Launcher Follow - throw the sprite anywhere in the world by Patrick OReilly. +* Physics - Launcher Follow World - an advanced version of the Launcher Follow example by Patrick OReilly. +* Input - Touch Joystick example showing how to use the clay.io virtual game controller (thanks gabehollombe) +* Games - Matching Pairs by Patrick OReilly. +* Games - Simon Says by Patrick OReilly. +* Tweens - Example showing how to use the tween events, onStart, onLoop and onComplete. +* Display - Pixi Render Texture. A Phaser conversion of the Pixi.js Render Texture example. +* Input - 5 new examples showing how to use the Gamepad API (thanks Karl Macklin) +* Animation - Group Creation, showing how to create animations across all Group children in one call. +* Particles - Rain by Jens Anders Bakke. +* Particles - Snow by Jens Anders Bakke. +* Groups - Nested Groups - showing how to embed one Group into another Group. +* Time - Lots of new examples showing how to use the updated Phaser.Timer class. + + +Updates: + +* Updated to latest Pixi.js dev branch build (pre 1.4 release) +* When a Sprite is destroyed any active filters are removed at the same time. +* Updated Pixi.js so that removing filters now works correctly without breaking the display list. +* Phaser.Canvas.create updated so it can be given an ID as the 3rd parameter (can also be set via new Game configuration object). +* Updated display/fullscreen example to reflect new full screen change. +* Loads of updates to the TypeScript definitions files - games fully compile now and lots of missing classes added :) (thanks Niondir) +* Removed 'null parent' check from Group constructor. Will parent to game.world only if parent value is undefined. +* The tutorials have now been translated into Spanish - thanks feiss :) +* separateY updated to re-implement the 'riding platforms' special condition (thanks cocoademon) +* SoundManager.onSoundDecode now dispatches the key followed by the sound object, also now dispatched by the Cache when doing an auto-decode on load. +* Switch method of using trimmed sprites to support scaling and rotation (thanks cocoademon) +* Most of the GameObjectFactory functions now have a group parameter, so you can do: game.add.sprite(x, y, frame, frameName, group) rather than defaulting to the World group. +* Group.countLiving and countDead used to return -1 if the Group was empty, but now return 0. +* Text can now be fixedToCamera, updated world/fixed to camera example to show this. +* ArcadePhysics.overlap and collide now recognise TileSprites in the collision checks. +* Lots of documentation fixes in the Tween class. +* Tweens fire an onLoop event if they are set to repeat. onComplete is now only fired for the final repeat (or never if the repeat is infinite) +* Pointer used to un-pause a paused game every time it was clicked/touched (this avoided some rogue browser plugins). Now only happens if Stage.disableVisibilityChange is true. +* Input doesn't set the cursor to default if it's already set to none. +* You can now collide a group against itself. This will check all children against each other, but not themselves (thanks cocoademon) +* RenderTexture.render / renderXY has a new parameter: renderHidden, a boolean which will allow you to render Sprites even if their visible is set to false. +* Added in prototype.constructor definitions to every class (thanks darkoverlordofdata) +* Group.destroy has a new parameter: destroyChildren (boolean) which will optionally call the destroy method of all Group children. +* Button.clearFrames method has been added. +* Device.quirksMode is a boolean that informs you if the page is in strict (false) or quirks (true) mode. +* Canvas.getOffset now runs a strict/quirks check and uses document.documentElement when calculating scrollTop and scrollLeft to avoid Chrome console warnings. +* The Time class now has its own Phaser.Timer which you can access through game.time.events. See the new Timer examples to show how to use them. +* Added StateManager.getCurrentState to return the currently running State object (thanks Niondir) +* Removed the console.log redirect from Utils as it was messing with Firefox. +* Body.acceleration is now much smoother and less eratic at high speeds. +* Removed ArcadePhysics binding to the QuadTree, so it can now be used independantly of the physics system. +* Removed ArcadePhysics.preUpdate and postUpdate as neither are needed any more. +* Body.bottom and Body.right are no longer rounded, so will give accurate sub-pixel values. +* Fixed lots of documentation in the Emitter class. +* The delta timer value used for physics calculations has had its cap limit modified from 1.0 to 0.05 in line with the core updates. +* Phaser.Math.min enhanced so you can now pass in either an array of numbers or lots of numbers as parameters to get the lowest. +* Phaser.Math.max added as the opposite of Math.min. +* Phaser.Math.minProperty and maxProperty added. Like Math.min/max but can be given a property an an array or list of objects to inspect. +* Added 'full' paramter to Body.reset, allowing you to control if motion or all data is reset or not. +* Exposed Group.pivot and Sprite.pivot to allow you to directly set the pivot points for rotation. +* Swapped to using the native and faster Array.isArray check. +* Added callback context parameter to Tween.onUpdateCallback(callback, context) to avoid having to bind or create anonymous functions. +* Updated TweenManager.removeAll so it flags all tweens as pendingDelete rather than nuking the array, to avoid tween callback array size errors (thanks DarkDev) + + +Bug Fixes: + +* Cache.getImageKeys returned __missing in the array, now excluded. +* Fixed Group.scale so you can now scale a Group directly. +* Removed World.scale as it was preventing Group.scale from working - you can still scale the world, but you'll need to factor in Input changes yourself. +* Moved 'dirty' flag for Tilemap to a per-layer flag. Fixes #242 +* Group.length now returns the number of children in the Group regardless of their exists/alive state, or 0 if the Group has no children. +* Switch Camera.setBoundsToWorld to match world.bounds instead of world (thanks cocoademon) +* Fixed an issue where passing null as the Group parent wouldn't set it to game.world as it should have (thanks tito100) +* Fixed Pixi bug (#425) incorrect width property for multi-line BitmapText (thanks jcd-as) +* Tween.onStart is now called when the tween starts AFTER the delay value, if given (thanks stevenbouma) +* Sprites that are fixedToCamera can now be input dragged regardless of world position (thanks RafaelOliveira) +* RenderTexture now displays correctly in Canvas games. +* Canvas.addToDOM is now more robust when applying the overflowHidden style. +* Fixed Pixi.StripShader which should stop the weird TileSprite GPU issues some were reporting (thanks GoodboyDigital) +* Patched desyrel.xml so it doesn't contain any zero width/height characters, as they broke Firefox 25. +* Cache.addSound now implements a locked attribute (thanks haden) +* Sound now checks for CocoonJS during playback to avoid readyState clash (thanks haden) +* Buttons now clear previously set frames correctly if you call setFrames. +* Sounds will now loop correctly if they are paused and resumed (thanks haden) +* InputHandler.checkBoundsRect and checkBoundsSprite now take into account if the Sprite is fixedToCamera or not. +* Removed the frame property from TileSprites as it cannot use them, it tiles the whole image only, not just a section of it. +* Fixed WebGLRenderer updateGraphics bug (thanks theadam) +* Removed duplicate Timer.create line (thanks hstolte) +* Fixed issue with the camera being slightly out of sync with 'fixedToCamera' sprites. +* 1px camera jitter issue fixed where map is same size, or smaller than the game size. + + Version 1.1.3 - "Arafel" - November 29th 2013 --------------------------------------------- diff --git a/package.json b/package.json index c3c07166..75e8c09f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "Phaser", - "version": "1.1.4", + "version": "1.1.5", "description": "A fast, free and fun HTML5 Game Framework for Desktop and Mobile web browsers.", "author": "Richard Davey", "logo": "https://raw.github.com/photonstorm/phaser/master/phaser-logo-small.png", diff --git a/src/IntroDocs.js b/src/IntroDocs.js deleted file mode 100644 index 11c06cfb..00000000 --- a/src/IntroDocs.js +++ /dev/null @@ -1,15 +0,0 @@ -/** -* @author Richard Davey -* @copyright 2014 Photon Storm Ltd. -* @license {@link https://github.com/photonstorm/phaser/blob/master/license.txt|MIT License} -*/ - -/** -* @overview -* -* Many thanks to Adam Saltsman (@ADAMATOMIC) for creating Flixel, from which both Phaser and my love of game development originate. -* -* "If you want your children to be intelligent, read them fairy tales."
-* "If you want them to be more intelligent, read them more fairy tales."
-* -- Albert Einstein -*/ diff --git a/src/Phaser.js b/src/Phaser.js index b8c554ca..786bbd48 100644 --- a/src/Phaser.js +++ b/src/Phaser.js @@ -10,7 +10,7 @@ var Phaser = Phaser || { VERSION: '<%= version %>', - DEV_VERSION: '1.1.4', + DEV_VERSION: '1.1.5', GAMES: [], AUTO: 0,