|
1 | 1 |  |
2 | 2 |
|
3 | | -Phaser 1.1.4 |
4 | | -============ |
| 3 | +Phaser 1.1.5-dev |
| 4 | +================ |
5 | 5 |
|
6 | 6 | 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. |
7 | 7 |
|
8 | | -Version: 1.1.4 "Kandor" - Released: February 5th 2014 |
| 8 | +Version: 1.1.5 "Saldaea" - Released: -in development- |
9 | 9 |
|
10 | 10 | By Richard Davey, [Photon Storm](http://www.photonstorm.com) |
11 | 11 |
|
@@ -57,179 +57,22 @@ There is also an [un-official Getting Started Guide](http://www.antonoffplus.com |
57 | 57 | Change Log |
58 | 58 | ---------- |
59 | 59 |
|
60 | | -Version 1.1.4 - "Kandor" - February 5th 2014 |
| 60 | +Version 1.1.5 - "Saldaea" - -in development- |
61 | 61 |
|
62 | 62 | Significant API changes: |
63 | 63 |
|
64 | | -* Loader.tileset has been removed as it's no longer required, this was as part of the Tilemap system overhaul. |
65 | | -* TilemapLayers are now created via the Tilemap object itself: map.createLayer(x, y, width, height, tileset, layer, group) and no longer via the GameObjectFactory. |
66 | | -* Tilemap.createFromObjects can now turn a bunch of Tiled objects into Sprites in one single call, and copies across all properties as well. |
67 | | -* Tween.onStartCallback and onCompleteCallback have been removed to avoid confusion. You should use the onStart, onLoop and onComplete events instead. |
68 | | -* Button.forceOut default value has changed from true to false, so Buttons will revert to an Up state (if set) when pressed and released. |
69 | | -* The way the collision process callback works has changed significantly and now works as originally intended. |
70 | | -* 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. |
71 | | -* A SAT system has been integrated for Body collision and separation. |
72 | | -* Bodies are no longer added to a world quadtree, so have had all of their quadtree properties removed such as skipQuadtree, quadTreeIndex, etc. |
73 | | -* Body.drag has been removed. Please use the new Body.linearDamping value instead (which is a number value, not a Point object) |
74 | | -* Body.embedded and Body.wasTouching have been removed as they are no longer required. |
75 | | -* Body.customSeparateX/Y have been removed as you should now use Body.customSeparateCallback. |
76 | | -* Body.maxVelocity defaults have been removed from 10,000 to 2000. |
77 | | -* Body.customSeparateCallback allows you to set your own callback when two Bodies need to separate rather than using the built-in method. |
78 | | -* Body.collideCallback allows you to set a callback that is fired whenever the Body is hit on any of its active faces. |
79 | | -* Body.allowCollision has been renamed to Body.checkCollision. |
80 | | -* 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). |
81 | | -* Removed Body.deltaAbsX and deltaAbsY as they are no longer used internally. |
82 | | -* Body.screenX and screenY moved to getters, no longer calculated every frame. |
83 | | -* ArcadePhysics now has setBounds and setBoundsToWorld, and you can specify which walls are created or not (left, right, up, down) |
84 | | -* Removed: Debug.renderSpriteTouching, Debug.renderLocalTransformInfo, Debug.renderWorldTransformInfo, Debug.renderSpriteCollision and Debug.dumpLinkedList. |
85 | | -* Body.setSize has been removed. Please use Body.setCircle, setRectangle or setPolygon instead. |
86 | | - |
87 | 64 |
|
88 | 65 | New features: |
89 | 66 |
|
90 | | -* 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. |
91 | | -* Gamepad API support has been added with lots of new examples (thanks Karl Macklin) |
92 | | -* Phaser.Game constructor can now be passed a single object containing all of your game settings + Stage settings. Useful for advanced configurations. |
93 | | -* The width/height given to Phaser.Game can now be percentages, i.e. "100%" will set the width to the maximum window innerWidth. |
94 | | -* Added a stage.fullScreenScaleMode property to determine scaling when fullscreen (thanks oysterCrusher) |
95 | | -* Added support for margin and spacing around a frame in Loader.spritesheet. |
96 | | -* Added Device.vibration to check if the Vibration API is available or not. |
97 | | -* Added Device.trident and Device.tridentVersion for testing IE11. |
98 | | -* Added Device.silk for detecting a Kindle Fire and updated desktop OS check to exclude Kindles (thanks LuckieLordie) |
99 | | -* TilemapLayers now have debug and debugAlpha values, this turns on the drawing of the collision edges (very handy for debugging, as the name implies!) |
100 | | -* Tweens have a new event: onLoop. |
101 | | -* 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. |
102 | | -* Group.set will let you deep set a new propery on a single child of the Group. |
103 | | -* Stage.display property added. A direct reference to the root Pixi Stage object (very useful for RenderTexture manipulation) |
104 | | -* Added Ejecta detection to Device (thanks endel) |
105 | | -* 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. |
106 | | -* Buttons now properly use their upFrame if set. |
107 | | -* InputHandler now has snapOffsetX and snapOffsetY properties so your snap grid doesn't have to be 0,0 aligned (thanks srmeier) |
108 | | -* 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. |
109 | | -* Groups can now be added to other Groups as children via group.add() and group.addAt() |
110 | | -* Groups now have an 'alive' property, which can be useful when iterating through child groups with functions like forEachAlive. |
111 | | -* 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. |
112 | | -* Body.speed - the current speed of the body. |
113 | | -* 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. |
114 | | -* Body.linearDamping - This now replaces Body.drag and provides for a much smoother damping (friction) experience. |
115 | | -* 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. |
116 | | -* QuadTree.populate - you can pass it a Group and it'll automatically insert all of the children ready for inspection. |
117 | | -* Input.setMoveCallback allows you to set a callback that will be fired each time the activePointer receives a DOM move event. |
118 | | -* Math.distancePow(x1,y1,x2,y2,power) returns the distance between two coordinates at the given power. |
119 | | -* 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. |
120 | | -* 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. |
121 | | -* Math.reverseAngle - reverses an angle (in radians). |
122 | | -* Math.normalizeAngle - normalises an angle, now in radians only. |
123 | | -* Math.normalizeLatitude - Normalizes a latitude to the [-90,90] range. |
124 | | -* Math.normalizeLongitude - Normalizes a longitude to the [-180,180] range. |
125 | | -* Phaser.Line added to the geometry classes, with full point on line/segment and intersection tests (see new examples) |
126 | | -* 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. |
127 | | -* 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) |
128 | | -* Collision now works between Sprites positioned via sprite.x/y, sprite.body.x/y or sprite.body.velocity. |
129 | | -* If you are tweening a sprite and still want physics collision, set `sprite.body.moves = false` otherwise it will fight against the tween motion. |
130 | | -* 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! |
131 | | -* Game.disableStep turns core update loop stepping off. |
132 | | -* Debug.renderPhysicsBody(body, color) is extremely useful for debugging the new physics bodies. Will draw the outline + points in the color given. |
133 | | -* Debug.renderBodyInfo(sprite, x, y, color) will display lots of Sprite body data. |
134 | | -* Sprite.events.onBeginContact will be fired when a Body makes contact with another Body. Once contact is over an onEndContact event will be dispatched. |
135 | | - |
136 | 67 |
|
137 | 68 | New Examples: |
138 | 69 |
|
139 | | -* Physics - Bounce by Patrick OReilly. |
140 | | -* Physics - Bounce with gravity by Patrick OReilly. |
141 | | -* Physics - Bounce accelerator (use the keyboard) by Patrick OReilly. |
142 | | -* Physics - Bounce knock (use the keyboard) by Patrick OReilly. |
143 | | -* Physics - Snake (use the keyboard to control the snake like creature) by Patrick OReilly and Richard Davey. |
144 | | -* Physics - Launcher - Angry Birds style ball launcher demo by Patrick OReilly. |
145 | | -* Physics - Launcher Follow - throw the sprite anywhere in the world by Patrick OReilly. |
146 | | -* Physics - Launcher Follow World - an advanced version of the Launcher Follow example by Patrick OReilly. |
147 | | -* Input - Touch Joystick example showing how to use the clay.io virtual game controller (thanks gabehollombe) |
148 | | -* Games - Matching Pairs by Patrick OReilly. |
149 | | -* Games - Simon Says by Patrick OReilly. |
150 | | -* Tweens - Example showing how to use the tween events, onStart, onLoop and onComplete. |
151 | | -* Display - Pixi Render Texture. A Phaser conversion of the Pixi.js Render Texture example. |
152 | | -* Input - 5 new examples showing how to use the Gamepad API (thanks Karl Macklin) |
153 | | -* Animation - Group Creation, showing how to create animations across all Group children in one call. |
154 | | -* Particles - Rain by Jens Anders Bakke. |
155 | | -* Particles - Snow by Jens Anders Bakke. |
156 | | -* Groups - Nested Groups - showing how to embed one Group into another Group. |
157 | | -* Time - Lots of new examples showing how to use the updated Phaser.Timer class. |
158 | | - |
159 | 70 |
|
160 | 71 | Updates: |
161 | 72 |
|
162 | | -* Updated to latest Pixi.js dev branch build (pre 1.4 release) |
163 | | -* When a Sprite is destroyed any active filters are removed at the same time. |
164 | | -* Updated Pixi.js so that removing filters now works correctly without breaking the display list. |
165 | | -* Phaser.Canvas.create updated so it can be given an ID as the 3rd parameter (can also be set via new Game configuration object). |
166 | | -* Updated display/fullscreen example to reflect new full screen change. |
167 | | -* Loads of updates to the TypeScript definitions files - games fully compile now and lots of missing classes added :) (thanks Niondir) |
168 | | -* Removed 'null parent' check from Group constructor. Will parent to game.world only if parent value is undefined. |
169 | | -* The tutorials have now been translated into Spanish - thanks feiss :) |
170 | | -* separateY updated to re-implement the 'riding platforms' special condition (thanks cocoademon) |
171 | | -* SoundManager.onSoundDecode now dispatches the key followed by the sound object, also now dispatched by the Cache when doing an auto-decode on load. |
172 | | -* Switch method of using trimmed sprites to support scaling and rotation (thanks cocoademon) |
173 | | -* 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. |
174 | | -* Group.countLiving and countDead used to return -1 if the Group was empty, but now return 0. |
175 | | -* Text can now be fixedToCamera, updated world/fixed to camera example to show this. |
176 | | -* ArcadePhysics.overlap and collide now recognise TileSprites in the collision checks. |
177 | | -* Lots of documentation fixes in the Tween class. |
178 | | -* 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) |
179 | | -* 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. |
180 | | -* Input doesn't set the cursor to default if it's already set to none. |
181 | | -* You can now collide a group against itself. This will check all children against each other, but not themselves (thanks cocoademon) |
182 | | -* 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. |
183 | | -* Added in prototype.constructor definitions to every class (thanks darkoverlordofdata) |
184 | | -* Group.destroy has a new parameter: destroyChildren (boolean) which will optionally call the destroy method of all Group children. |
185 | | -* Button.clearFrames method has been added. |
186 | | -* Device.quirksMode is a boolean that informs you if the page is in strict (false) or quirks (true) mode. |
187 | | -* Canvas.getOffset now runs a strict/quirks check and uses document.documentElement when calculating scrollTop and scrollLeft to avoid Chrome console warnings. |
188 | | -* 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. |
189 | | -* Added StateManager.getCurrentState to return the currently running State object (thanks Niondir) |
190 | | -* Removed the console.log redirect from Utils as it was messing with Firefox. |
191 | | -* Body.acceleration is now much smoother and less eratic at high speeds. |
192 | | -* Removed ArcadePhysics binding to the QuadTree, so it can now be used independantly of the physics system. |
193 | | -* Removed ArcadePhysics.preUpdate and postUpdate as neither are needed any more. |
194 | | -* Body.bottom and Body.right are no longer rounded, so will give accurate sub-pixel values. |
195 | | -* Fixed lots of documentation in the Emitter class. |
196 | | -* 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. |
197 | | -* 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. |
198 | | -* Phaser.Math.max added as the opposite of Math.min. |
199 | | -* 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. |
200 | | -* Added 'full' paramter to Body.reset, allowing you to control if motion or all data is reset or not. |
201 | | -* Exposed Group.pivot and Sprite.pivot to allow you to directly set the pivot points for rotation. |
202 | | -* Swapped to using the native and faster Array.isArray check. |
203 | | -* Added callback context parameter to Tween.onUpdateCallback(callback, context) to avoid having to bind or create anonymous functions. |
204 | | -* Updated TweenManager.removeAll so it flags all tweens as pendingDelete rather than nuking the array, to avoid tween callback array size errors (thanks DarkDev) |
205 | | - |
206 | 73 |
|
207 | 74 | Bug Fixes: |
208 | 75 |
|
209 | | -* Cache.getImageKeys returned __missing in the array, now excluded. |
210 | | -* Fixed Group.scale so you can now scale a Group directly. |
211 | | -* 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. |
212 | | -* Moved 'dirty' flag for Tilemap to a per-layer flag. Fixes #242 |
213 | | -* 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. |
214 | | -* Switch Camera.setBoundsToWorld to match world.bounds instead of world (thanks cocoademon) |
215 | | -* Fixed an issue where passing null as the Group parent wouldn't set it to game.world as it should have (thanks tito100) |
216 | | -* Fixed Pixi bug (#425) incorrect width property for multi-line BitmapText (thanks jcd-as) |
217 | | -* Tween.onStart is now called when the tween starts AFTER the delay value, if given (thanks stevenbouma) |
218 | | -* Sprites that are fixedToCamera can now be input dragged regardless of world position (thanks RafaelOliveira) |
219 | | -* RenderTexture now displays correctly in Canvas games. |
220 | | -* Canvas.addToDOM is now more robust when applying the overflowHidden style. |
221 | | -* Fixed Pixi.StripShader which should stop the weird TileSprite GPU issues some were reporting (thanks GoodboyDigital) |
222 | | -* Patched desyrel.xml so it doesn't contain any zero width/height characters, as they broke Firefox 25. |
223 | | -* Cache.addSound now implements a locked attribute (thanks haden) |
224 | | -* Sound now checks for CocoonJS during playback to avoid readyState clash (thanks haden) |
225 | | -* Buttons now clear previously set frames correctly if you call setFrames. |
226 | | -* Sounds will now loop correctly if they are paused and resumed (thanks haden) |
227 | | -* InputHandler.checkBoundsRect and checkBoundsSprite now take into account if the Sprite is fixedToCamera or not. |
228 | | -* Removed the frame property from TileSprites as it cannot use them, it tiles the whole image only, not just a section of it. |
229 | | -* Fixed WebGLRenderer updateGraphics bug (thanks theadam) |
230 | | -* Removed duplicate Timer.create line (thanks hstolte) |
231 | | -* Fixed issue with the camera being slightly out of sync with 'fixedToCamera' sprites. |
232 | | -* 1px camera jitter issue fixed where map is same size, or smaller than the game size. |
233 | 76 |
|
234 | 77 |
|
235 | 78 | You can view the Change Log for all previous versions at https://github.com/photonstorm/phaser/changelog.md |
@@ -379,10 +222,6 @@ Road Map |
379 | 222 |
|
380 | 223 | Here is what's on our road map for the coming months: |
381 | 224 |
|
382 | | -Version 1.1.5 ("Saldaea") |
383 | | - |
384 | | -* 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. |
385 | | - |
386 | 225 | Version 1.2 ("Shienar") |
387 | 226 |
|
388 | 227 | * Update to Pixi 1.4 - this newly released build has lots of internal changes and new features we want to take advantage of. |
|
0 commit comments