photonstorm
164f3cbe83
When creating a Sprite (via Group.create or directly) with exists = false and a P2 body, the body is not added to the world.
2014-03-19 13:09:29 +00:00
photonstorm
96365a3a1f
The StateManager is now responsible for clearing down input, timers, tweens, physics, camera and the World display list.
...
Removed the use of Int16Array from all Game Objects, swapped for standard Array. Phaser now runs on Android 2.x again (fix #590 )
2014-03-19 12:05:19 +00:00
photonstorm
5d40365b87
InputHandler.dragFromCenter will now work regardless of the anchor point of the Sprite.
2014-03-19 05:21:26 +00:00
photonstorm
84df7bf320
Sprite.events.onEnterBounds added. This is dispatched if the Sprite leaves the bounds but then returns. The opposite of onOutOfBounds.
2014-03-19 04:17:37 +00:00
photonstorm
0a42ac39b9
ArcadePhysics.World now has a checkCollision object which can be used to toggle collision against the 4 walls of its bounds.
2014-03-19 04:03:21 +00:00
photonstorm
9959e21925
Debug.spriteBounds will now take the position of the camera into consideration when rendering the bounds ( fix #603 )
2014-03-19 02:31:37 +00:00
photonstorm
79ffda3f18
ArcadePhysics.separate doesn't pass over to seperateX/Y if overlapOnly is true ( fix #604 )
...
ArcadePhysics.collideSpriteVsSprite checks if both objects have bodies before processing.
ArcadePhysics.Body now checks the ArcadePhysics.World bounds, not the game bounds.
ArcadePhysics.Body has reverted to the 1.1.3 method of preUpdate, so you can now position sprites with x/y, drag them, etc, regardless of the Body.moves flag (issue #606 )
ArcadePhysics.World now has setBounds and setBoundsToWorld methods, which are called automatically on world resizing.
ArcadePhysics.Body no longer sets the offset to match the anchor.
2014-03-19 02:28:20 +00:00
photonstorm
9490041c79
ArcadePhysics.separate doesn't pass over to seperateX/Y if overlapOnly is true ( fix #604 )
...
ArcadePhysics.collideSpriteVsSprite checks if both objects have bodies before processing.
2014-03-19 02:05:29 +00:00
photonstorm
11fdd62436
World.destroy incorrectly clashed with the Group.destroy method it over-rode, renamed to World.shutdown and updated StateManager accordingly.
...
World.shutdown now removes all children iteratively, calling destroy on each one, ultimately performing a soft reset of the World.
Objects with a scale.x or y of 0 are no longer considered valid for input (fix #602 )
InputHandler will set the browser pointer back to default if destroyed while over (fix #602 )
Group.destroy has a new parameter: `soft`. A soft destruction won't remove the Group from its parent or null game references. Default is `false`.
InputHandler.validForInput is a new method that checks if the handler and its owner should be considered for Pointer input handling or not.
Group.replace will now return the old child, the one that was replaced in the Group.
2014-03-19 00:54:49 +00:00
photonstorm
8010d245f1
Fixed Grunt script that stopped the P2 constraint classes from building properly.
2014-03-18 18:36:46 +00:00
photonstorm
eec9f70c1c
Math.removeRandom allows you to remove (and return) a random object from an array.
...
Updated TypeScript defs to fix getRandom (fix #583 )
2014-03-18 16:51:58 +00:00
photonstorm
870d534e50
Fixed the Loader.preloadSprite crop effect on WebGL.
2014-03-18 16:23:44 +00:00
photonstorm
a7ff5f884c
Added basic Webcam plugin.
...
Added Device.getUserMedia detection.
Updated config.php so you can toggle physics engines on/off via flags.
Updated Gruntfile.js so it builds a Phaser + Pixi but no Physics libs.
2014-03-18 15:14:28 +00:00
photonstorm
928b883c17
Swapped the order of the _pollGamepads gamepads check, to stop the Chrome 'webkitGamepads is deprecated' error in the console.
2014-03-18 00:10:43 +00:00
photonstorm
4a407f12a1
Button.onInputUpHandler wouldn't set an upFrame for a frame ID of zero, made the check more strict.
2014-03-17 23:57:27 +00:00
photonstorm
46d5069110
Tilemap.createFromObjects has a new parameter: adjustY, which is true by default. Because Tiled uses a bottom-left coordinate system Phaser used to set the Sprite anchor to 0,1 to compensate. If adjustY is true it now reduces the y value by the object height instead.
2014-03-17 23:54:04 +00:00
photonstorm
90ef694347
Tilemap.createFromObjects used to set the Sprite anchor to 0,1 because Tiled uses a bottom-left coordinate system. It now calculates the offset in TilemapParser.
2014-03-17 23:27:13 +00:00
photonstorm
2ecb0c7c76
P2.removeBody will check if the body is part of the world before removing, this avoids a TypeError from the p2 layer.
2014-03-17 22:34:19 +00:00
photonstorm
a8502f3498
Removed State.destroy empty method and replaced with State.shutdown, as that is what the StateManager expects ( fix #586 )
2014-03-17 19:43:28 +00:00
photonstorm
3ebd0d9303
Updated Device.isConsoleOpen as it no longer works in Chrome. Revised code and documentation accordingly ( fix #593 )
...
Revised p2 clear process.
2014-03-17 19:39:56 +00:00
photonstorm
96296c6582
The P2 World wouldn't clear down fully on a State change, now properly clears out contacts, resets the bitmask, etc.
2014-03-17 18:57:46 +00:00
photonstorm
bc8b2424ce
Removed the examples build script from the Gruntfile ( fix #592 )
2014-03-17 16:10:19 +00:00
photonstorm
b9ac0d565e
Fixed Tile callback check in Arcade Physics ( fix #562 )
2014-03-16 00:53:50 +00:00
photonstorm
ec2275e18c
Group enableBody parameter was incorrectly assigned to the debug var (thanks BurnedToast, fix #565 )
2014-03-16 00:45:47 +00:00
photonstorm
db88bd2f22
Fixed the IE11 version check ( fixes #579 )
2014-03-16 00:39:42 +00:00
photonstorm
fee4d36b91
Group.getAt comparison updated ( fixes #578 )
2014-03-15 23:53:05 +00:00
Richard Davey
fc5504f8d8
Fixed Sprite.destroy with an arcade body
2014-03-15 01:06:01 +00:00
photonstorm
5e11b1ad87
The Static, Kinematic and Dynamic consts that P2.Body uses were incorrect ( fixes #563 )
2014-03-14 19:20:35 +00:00
photonstorm
901a7f13d1
Updated docs for 2.0 release and updated README.
2014-03-14 06:36:05 +00:00
photonstorm
eb8f021202
Updated README, removed Examples, added Migration Guide.
2014-03-14 06:06:43 +00:00
photonstorm
017a017b96
TilemapLayer.getRayCastTiles will let you get all tiles that hit the given line for further processing.
...
Fixed Tilemap collision. Added new TILE_BIAS const to aid with fast/small sprites.
2014-03-14 02:33:58 +00:00
photonstorm
f678d1fd31
Line now has x, y, width, height, top, bottom, left and right properties, so you can effectively get its bounds.
2014-03-14 00:19:45 +00:00
photonstorm
a83a76bc5d
Line.coordinatesOnLine will return all coordinates on the line using Bresenhams line algorithm.
2014-03-14 00:05:03 +00:00
photonstorm
c8e63582a4
Lots of small tweaks to pass jshint.
2014-03-13 16:49:52 +00:00
photonstorm
94448d2497
P2 postBroadphase example and handler done. Group.enableBodyDebug added. Sprites no longer remove bodies from the world if exists = false, instead they set safeDestroy to true, which removes the body on the next preUpdate, to avoid mid-step destruction issues.
2014-03-13 07:29:23 +00:00
photonstorm
fc788f909c
P2 Body Begin and End Contact events done and working nicely.
2014-03-12 15:26:20 +00:00
photonstorm
d2762719b8
RandomDataGenerator is now started on Game creation instead of boot. You can pass a seed array in the game config object (feature request #547 )
2014-03-12 13:53:30 +00:00
photonstorm
e9ae465272
Sorted out Body gravity settings and updated the example.
2014-03-11 16:26:03 +00:00
photonstorm
6bddf1a914
The main Game class has been modified so that the update methods no longer have any if/else checks in them. Now split into coreUpdate, etc.
...
Put QuadTree back into Debug class.
Debug class now clears down on WebGL.
Updated RetroFont.type.
Fixed QuadTree example.
2014-03-11 16:14:01 +00:00
photonstorm
384451bef7
Particles back in and working again. Also updated most of the examples and put Body.gravity back in as well.
2014-03-11 02:49:55 +00:00
photonstorm
f89da86444
Cache.destroy fixed to clear up properly (thanks Dumtard, #537 )
2014-03-10 19:06:15 +00:00
photonstorm
13ff8985e1
Merged @georgiee p2 BodyDebug and reformatted for jshint pass. Looks awesome :) #536
2014-03-10 15:25:43 +00:00
photonstorm
1fe331956a
Added in p2.total
2014-03-10 14:47:29 +00:00
photonstorm
c4183d200f
Changed the define function calls to use named modules, allows pixi, phaser and p2 to reside in 1 file and still be located by requirejs (thanks brejep, #531 )
2014-03-10 01:39:36 +00:00
photonstorm
45ab4673cc
ScaleManager.fullScreenTarget allows you to change the DOM element that the fullscreen API is called on (feature request #526 )
2014-03-10 01:13:01 +00:00
photonstorm
c73b4eaea0
json is now the default tilemap format when not defined (thanks RyanDansie, #528 )
...
Updated docstrap
2014-03-10 00:50:06 +00:00
photonstorm
4cac6408d8
Ninja.AABB updated with all the correct properties, now works fully as with Circle. Created new tests, all Ninja shapes now set Body.touching values correctly. TileSprites work as bodies. Trying out AABB vs. AABB collision now.
2014-03-07 04:43:55 +00:00
photonstorm
a51ae03246
Tweens are now bound to their own TweenManager, not always the global game one. So you can create your own managers now (for you clark :)
2014-03-07 01:26:09 +00:00
photonstorm
3b2573de9a
Objects that are 'fixedToCamera' are now still correctly placed even if the camera is scaled ( #512 )
2014-03-06 17:12:12 +00:00
photonstorm
7db8e5bc5e
Fixed typo in README (thanks prtksxna, #518 )
2014-03-06 16:56:25 +00:00
photonstorm
081c083176
InputHandler.enableSnap now correctly assigns the snap offset parameters ( fixes #515 )
2014-03-06 16:45:29 +00:00
photonstorm
3e93f24583
New split physics system is implemented. Still tidying-up, but ArcadePhysics, P2 and Ninja Physics are in and configured. Lots more examples required, and tilemap collision mostly broken in Arcade at the moment. Time to implement in Ninja.
2014-03-06 06:29:19 +00:00
photonstorm
22b1ce9b9d
Added Phasers new Physics Manager and restored the pre-1.1.4 ArcadePhysics system. The new manager can handle multiple physics systems running in parallel, which could be extremely useful for lots of games.
2014-03-05 02:36:08 +00:00
photonstorm
5a6ae5f696
Tilemap.putTile now correctly re-calculates the collision data based on the new collideIndexes array ( fixes #371 )
...
Tilemap.putTile can now insert a tile into a null/blank area of the map (before it could only replace existing tiles)
2014-03-04 03:08:35 +00:00
photonstorm
8c2502d37d
Group.xy(index, x, y) allows you to set the x and y coordinates of a Group child at the given index.
...
Group.reverse() reverses the display order of all children in the Group.
New labs demo.
Fixed some Easing docs issues.
2014-03-04 01:27:57 +00:00
photonstorm
67ad898294
Tween.generateData(frameRate) allows you to generate tween data into an array, which can then be used however you wish (see new examples)
...
Added new Retro Font examples.
2014-03-03 22:43:35 +00:00
photonstorm
7183322259
Renamed Phaser.BitmapFont to Phaser.RetroFont because I believe it will cause confusion otherwise. Also tidied up the asset fonts folder.
2014-03-03 17:05:28 +00:00
photonstorm
833960b3c8
Animation.looped has been renamed to Animation.loop. It's a boolean you can toggle at run-time to turn on/off animation looping.
...
A single Animation object now has 3 new events: onStart, onLoop and onComplete.
Animation.loopCount holds the number of times the animation has looped since it last started.
Animation.stop has a new parameter: dispatchComplete. If true it'll dispatch an Animation.onComplete event.
2014-03-03 16:05:55 +00:00
photonstorm
4a370c82cf
You can now load in CSV Tilemaps again and they get created properly ( fixes #391 )
...
You can now create blank Tilemaps and then populate them with data later.
2014-03-03 13:45:47 +00:00
photonstorm
502d74ee39
Keyboard.event now stores the most recent DOM keyboard event.
2014-03-03 11:18:56 +00:00
photonstorm
d8f5832fa2
Completely empty Tilemaps can now be created. This allows for dynamic map generation at runtime.
...
Loads of updates across most the Tilemap files. Not finished yet, still CSV loading to do and a multi-tileset issue to resolve, but it's a lot more flexible now.
2014-03-03 05:19:46 +00:00
photonstorm
6f513042c1
Tween no longer copies all the object properties into the _valuesStart
object on creation.
...
Fixed shadow bug in Debug.text
Fixed tween examples.
2014-03-03 02:40:59 +00:00
photonstorm
c4a68e3e87
The Debug panel now works in WebGL mode. Pay attention to the warning at the top of the Debug docs (feature request #499 )
...
All the Debug methods have had the word 'render' removed from the start. So where you did `debug.renderSpriteInfo` before, it's now just `debug.spriteInfo`.
Debug methods that rendered geometry (Rectangle, Circle, Line, Point) have been merged into the single method: `Debug.geom`.
2014-03-03 00:46:03 +00:00
photonstorm
442e6bb776
Events.onInputUp would be dispatched twice if the Sprite had drag enabled, now only dispatched once (thanks Overbryd, fixes #502 )
...
Changed webfont URI back to //
2014-03-02 11:31:26 +00:00
photonstorm
0eb23d4b11
RandomDataGenerator.integerInRange(min, max) now includes both min
and max
within its range ( #501 )
2014-03-02 11:21:30 +00:00
photonstorm
52118be088
Sound.onMarkerComplete event is now dispatched when a marker stops. See Sound.onLoop for a looping marker event (thanks registered99, fixes #500 )
2014-03-02 11:11:20 +00:00
photonstorm
7ff4e51ab1
Time.reset does a removeAll on any Timers.
...
Device no longer things a Windows Phone or Windows Tablet are desktop devices (thanks wombatbuddy, fixes #506 )
2014-03-02 10:56:39 +00:00
photonstorm
8dcfef8db0
Updated to latest Pixi build (can do away with our own local patch now).
...
Group.sendToBottom(child) is the handy opposite of Group.bringToTop()
Group.moveUp(child) will move a child up the display list, swapping with the child above it.
Group.moveDown(child) will move a child down the display list, swapping with the child below it.
2014-02-28 18:55:07 +00:00
photonstorm
8662cd2fd4
Brand new Grunt task - creates each core library as its own file and a combined phaser.js.
...
New build script now cleanly splits Phaser, Pixi and p2 so they are each UMD wrapped and each available in the global scope (now more requireJS friendly!).
phaser-no-libs.js allows you to use your own version of p2.js or pixi.js with Phaser. Warning: This is totally unsupported. If you hit bugs, you fix them yourself.
Fixed silly instanceof bug in game objects (sorry guys).
2014-02-28 09:30:53 +00:00
photonstorm
8dc28f4800
Animation.speed added. You can now change the animation speed on the fly, without re-starting the animation (feature request #458 )
2014-02-28 04:32:12 +00:00
photonstorm
e3d53ad6a3
Game no longer pauses if you've forced orientation and change it, also doesn't resize a NO_SCALE game.
...
If the game was set to NO_SCALE and you swapped orientation, it would pause and resize, then fail to resize when you swapped back (thanks starnut, fixes #258 )
2014-02-28 04:15:28 +00:00
photonstorm
34ee2b0b20
Fixed issue with CocoonJS detection in Device.
...
Fixed docs issue in Tilemap.
Created landscape pointer test, confirmed working fine (issue #276 )
2014-02-28 03:09:04 +00:00
photonstorm
3568dc4ff1
Pixi GrayFilter ported over (thanks nickryall #404 )
...
Fixed Time.totalElapsedSeconds, which gets the other filters working again too.
2014-02-27 22:35:06 +00:00
photonstorm
10b3dbf74a
Loader.replaceInFileList wouldn't over-write the previous entry correctly, which caused the Loader.image overwrite parameter to fail (thanks basoko, fixes #493 )
2014-02-27 21:41:54 +00:00
photonstorm
7e12075be1
Buttons are now cleanly destroyed if part of a Group without leaving their InputHandler running.
...
You can now safely destroy a Group and the 'destroyChildren' boolean will propogate fully down the display list.
Calling destroy on an already destroyed object would throw a run-time error. Now checked for and aborted.
Calling destroy while in an Input Event callback now works for either the parent Group or the calling object itself.
In Group.destroy the default for 'destroyChildren' was false. It's now `true` as this is a far more likely requirement when destroying a Group.
All GameObjects now have a 'destroyChildren' boolean as a parameter to their destroy method. It's default is true and the value propogates down its children.
2014-02-27 20:05:16 +00:00
photonstorm
53c10ca31f
The grunt task now creates an optional version of Phaser without any Physics support built in. Quite a bit smaller now.
...
The grunt task now has a new `noUmd` option which builds Phaser without the UMD wrapper.
2014-02-27 17:00:14 +00:00
photonstorm
4d284029c7
Tweens now resume correctly if the game pauses (focus loss) while they are paused.
...
Tweens don't double pause if they were already paused and the game pauses.
2014-02-26 23:27:22 +00:00
photonstorm
86374d4437
Phaser.Timer will no longer resume if it was previously paused and the game loses focus and then resumes ( fixes #383 )
...
Phaser.Timer.stop has a new parameter: clearEvents (default true), if true all the events in Timer will be cleared, otherwise they will remain (fixes #383 )
2014-02-26 20:12:17 +00:00
photonstorm
db090601b8
The Timer will no longer create negative ticks during game boot, no matter how small the Timer delay is ( fixes #366 )
2014-02-26 19:52:23 +00:00
photonstorm
d0fa50f014
Fixed issue stopping SoundManager.volume from working correctly on a global volume basis (fix # 488)
2014-02-26 14:40:55 +00:00
photonstorm
5ab104ad4b
Loader.script now has callback (and callbackContext) parameters, so you can specify a function to run once the JS has been injected into the body.
2014-02-26 02:45:06 +00:00
photonstorm
1aea08d0f7
AnimationParser.spriteSheet wasn't taking the margin or spacing into account when calculating the numbers of sprites per row/column, nor was it allowing for extra power-of-two padding at the end ( fix #482 , thanks yig)
...
AnimationManager.add documentation said that 'frames' could be null, but the code couldn't handle this so it defaults to an empty array if none given (thanks yig)
Also updated TypeScript definitions and StateManager.add docs.
2014-02-26 01:32:38 +00:00
photonstorm
29fcfc515d
Fixed TilemapParser - would spit out a tileset warning if margin/spacing were set ( fix #485 , thanks Cybolic)
2014-02-26 01:20:24 +00:00
photonstorm
db2e3733c2
Fullscreen mode now uses window.outerWidth/Height when using EXACT_FIT as the scale mode, which fixes input coordinate errors ( fixes #232 )
...
Fullscreen mode now works in Internet Explorer and uses the new fullscreen non-prefix call.
2014-02-25 21:16:56 +00:00
photonstorm
741249043c
ScaleManager has 2 new events: ScaleManager.enterFullScreen and ScaleManager.leaveFullScreen, so you can respond to fullscreen changes directly.
...
Fullscreen mode now uses window.outerWidth/Height when using EXACT_FIT as the scale mode, which fixes input coordinate errors (fixes #232 )
2014-02-25 17:10:37 +00:00
photonstorm
13c99f3491
Phaser.StageScaleMode has been renamed to ScaleManager and moved from the system folder to the core folder. It's still available under game.scale.
...
If your game references the old Phaser.StageScaleMode consts like SHOW_ALL you need to update them to Phaser.ScaleManager, i.e. Phaser.ScaleManager.SHOW_ALL.
All of the Project Templates have been updated to reflect the above change.
2014-02-25 14:46:48 +00:00
photonstorm
b4dbaf9950
StateManager.start can now have as many parameters as you like. The order is: start(key, clearWorld, clearCache, ...) - they are passed to State.init() (NOT create!)
2014-02-25 11:56:57 +00:00
photonstorm
a1b502fc06
Stage.smoothed allows you to set if sprites will be smoothed when rendered. Set to false if you're using pixel art in your game. Default is true. Works in Canvas and WebGL. Setting the game anti-aliased parameter now works properly too.
...
Sprite.smoothed and Image.smoothed allows you to set per-Sprite smoothing, perfect if you just want to keep a few sprites smoothed (or not).
Fixes #381 .
2014-02-25 04:41:57 +00:00
photonstorm
b255fea85f
Time.advancedTiming is a new boolean property. If true Time.fps, fpsMin, fpsMax, frames, msMin and msMax will be calculated, otherwise they remain at their defaults.
2014-02-25 04:05:28 +00:00
photonstorm
8fb2f20482
Swapping between tabs will pause and resume tweens correctly, allowing their onComplete events to still fire ( fixes #292 )
2014-02-25 03:33:47 +00:00
photonstorm
cc06a62b90
Pausing the game will now mute audio and resuming will un-mute, unless it was muted via the game ( fixes #439 )
2014-02-25 03:12:12 +00:00
photonstorm
415342d986
Vastly improved visibility API support + pageshow/pagehide + focus/blur. Working across Chrome, IE, Firefox, iOS, Android (also fixes #161 )
2014-02-25 02:59:24 +00:00
photonstorm
beaac18b8f
Active animations now monitor if the game pauses, and resume normally when the game un-pauses ( fixes #179 )
2014-02-24 23:06:45 +00:00
photonstorm
36df5516dd
Fixed full-screen anti-alias issue ( #478 ).
2014-02-24 20:33:22 +00:00
photonstorm
d9cadc70ac
The Keyboard class has had a complete overhaul. Phaser.Key objects are created automatically, there are fixes against duration and keys reset properly on visibility loss.
...
Keyboard.removeKey has been removed. The way the new keyboard manager works means it's no longer required.
Fixes issue #462
2014-02-24 15:58:02 +00:00
photonstorm
46e85c8394
Updated version to 2.0.0 (fixes npm install issue #476 )
2014-02-24 12:00:28 +00:00
photonstorm
e088d5c67f
Documentation fix.
2014-02-24 00:35:11 +00:00
Richard Davey
94133e4c11
Updated Sound.play loop check
2014-02-22 03:05:41 +00:00
photonstorm
be4d42a1c2
The StateManager now looks for a function called 'resumed' which is called when a game un-pauses ( fixes #358 )
2014-02-22 00:01:19 +00:00
photonstorm
57796a60be
TileSprites can now receive full Input events, dragging, etc and be positioned in-world and fixed to cameras ( fixes #321 )
2014-02-21 19:21:00 +00:00