Commit graph

3706 commits

Author SHA1 Message Date
photonstorm
45d92d4217 ScaleMin and ScaleMax stopped working in Phaser 2.3.0 due to an incorrect transform callback scope (thanks @brianbunch #2132) 2015-10-13 13:32:55 +01:00
photonstorm
bd53b61ffd Sprite.getBounds would report an inaccurate value if the sprite was negatively scaled (causing things like generateTexture to be cut off) (thanks @DavidAPC #2108) 2015-10-13 13:02:49 +01:00
photonstorm
84373dc478 Removed use of the tilePosition property in the Phaser.Rope class as it isn't implemented and caused calls to Rope.reset to crash (thanks @spayton #2135) 2015-10-13 12:20:02 +01:00
photonstorm
8e4dc1f078 ScaleManager.getParentBounds now checks if parentNode has an offsetParent before calling getBoundingClientRect on it (thanks @McFarts #2134) 2015-10-13 12:04:57 +01:00
photonstorm
b91de47d8d Readme and JSDocs updates. 2015-10-13 12:01:08 +01:00
Richard Davey
3ee59f1de3 Merge pull request #2118 from pnstickne/wip-2031
Created Phaser.KeyCode enumeration / pseudo-type
2015-10-13 13:56:46 +03:00
Richard Davey
e097a1227e Merge pull request #2052 from nickryall/fix-for-text-centered-on-sprite
adjust wrapped text that is centered to sprite via anchor
2015-10-13 13:50:11 +03:00
Richard Davey
5f704f0b0f Merge pull request #2130 from noidexe/patch-5
Better default value for suggestedFps
2015-10-13 13:47:15 +03:00
Richard Davey
4e208c74ce Merge pull request #2128 from nlotz/nlotz-loader-cache-addbitmapfont-apply-default-spacing
Fixes for Cache::addBitmapFont(...)
2015-10-13 13:43:50 +03:00
photonstorm
c79a341c58 Fixed jshint errors. 2015-10-12 12:23:48 +01:00
photonstorm
e01a754732 Removed the FrameDebugger and moved to its own branch. 2015-10-12 11:10:37 +01:00
Lisandro Lorea
dea95ec6f6 Better default value for suggestedFps
In any game that handles fps issues as seen in http://phaser.io/examples/v2/time/slow-down-time the game will hang if game.fpsProblemNotifier fires early on, before game.time.suggestedFps has any value other than null. 

The docs recommend waiting a few seconds before accesing suggestedFps. Since it's hard to tell exactly how long "a few seconds" is, shouldn't suggestedFps be initialized to the same value as desidedFps? 

I think it's better to get an inaccurate value for a few frames than an invalid value. It means users don't have to care about the specifics of how and when suggestedFps gets its value.
2015-10-09 16:14:52 -03:00
Nikolas Lotz
6d4dad7bb4 Apply default X/Y-Spacing
Applies default X/Y-Spacing when omitted as a parameter
2015-10-08 20:14:16 +02:00
Richard Davey
8dc8d7dd72 Added fd to the renderSession to stop the FrameDebugger breaking in TilingSprite under WebGL. 2015-10-07 22:15:20 +01:00
Richard Davey
3d5fac1817 Merge pull request #2111 from jdnichollsc/master
Takes any transforms into account to get the correct parent bounds
2015-10-06 19:08:02 +03:00
photonstorm
bf0bd9657e Updated readme and build scripts. 2015-09-30 11:20:14 +01:00
photonstorm
9013107fd1 The ScaleManager no longer creates a Phaser.FlexGrid if the class isn't available (i.e. excluded via a custom build) 2015-09-30 11:20:00 +01:00
photonstorm
e31c7d1f5a Fixed issue with TileSprites not excluding correctly from custom builds. 2015-09-30 11:19:29 +01:00
photonstorm
6d0aa613ad New Create stub added for the custom build process. Cuts file size by 8KB. 2015-09-30 11:19:05 +01:00
photonstorm
6fd2b6a7ec Phaser.Create no longer automatically creates a BitmapData object when it starts. It now only does it when you first make a texture or grid. 2015-09-30 11:18:53 +01:00
Paul
531cd49f06 Created Phaser.KeyCode enumeration / pseudo-type
- Impact: none/foward-migration; fully backwards compatible

- Moves the key code constants in Keyboard to a KeyCode type.
  - Duplicates the KeyCodes in the Keyboard object for backward
    compatiblity.
  - KeyCode properties are listed in documentation

- Updates documentaion to refer to Phaser.KeyCode

- Adds in future 'keycode' expansion capabilities,
  as indicated by the KeyCode documentation, if the constants
  are used in code.

Closes #2031
2015-09-29 17:59:26 -07:00
Richard Davey
884acb0616 New Scale Manager stub added. Removes all Scale Manager handling from Phaser! But saves 75KB in the process. If you know you don't need to scale the Phaser canvas, or are handling that externally, then you can safely stub it out in a custom build. 2015-09-29 16:06:49 +01:00
Richard Davey
c1d0ec0f34 Local vars to reduce file size. 2015-09-29 16:06:44 +01:00
Richard Davey
8d5e27a49f New DOM stub added for the custom build process. Contains just the bare minimum of functions that Phaser needs to work. Cuts file size from 14.8KB to 2.4KB. Note: Do not stub this out if using the full Scale Manager. 2015-09-29 16:06:27 +01:00
Richard Davey
64eebbb6d2 New Color stub added for the custom build process. Contains just the bare minimum of functions that Phaser needs to work. Cuts file size from 48.7KB to 7.4KB. Note: Do not stub this out if using BitmapData objects. 2015-09-29 16:06:15 +01:00
Richard Davey
8899eddd9a BitmapData.clear now automatically calls BitmapData.update at the end of it. 2015-09-29 14:02:26 +01:00
Richard Davey
5a275f14a8 Removing dead code. 2015-09-28 03:26:27 +01:00
Richard Davey
84a566bf79 Added guard around the blend mode setter. 2015-09-27 01:44:38 +01:00
Richard Davey
cbf9b3f71f WebGLRenderer.mapBlendModes optimised to cut down on file size. 2015-09-26 00:58:02 +01:00
Juan David Nicholls Cardona
8ce70cbeb4 Takes any transforms into account to get the correct parent bounds 2015-09-25 15:42:29 -05:00
Nikolas Lotz
33503e7fa7 adds missing API doc param to addBitmapFont()
added missing API doc parameter "atlasType" to Cache::addBitmapFont(...)
2015-09-24 19:18:04 +02:00
Richard Davey
d0930bc161 Keyboard.addCallbacks didn't check to see if the arguments were null, only if they were undefined making the jsdocs misleading. 2015-09-23 23:18:36 +01:00
photonstorm
832034af94 Typo fix. 2015-09-23 14:04:04 +01:00
Richard Davey
cffc90ebbc Merge pull request #2107 from JackMorganNZ/master
Corrected spelling: 'mainted' to 'maintained'
2015-09-23 11:21:21 +03:00
Jack Morgan
589b9b8edd Corrected spelling: 'mainted' to 'maintained' 2015-09-23 12:03:54 +12:00
photonstorm
de5283b989 The default Button.onOverMouseOnly value has changed from false to true. If you used this in your touch enabled games then please be aware of this change (#2083) 2015-09-22 15:24:52 +01:00
photonstorm
0dee1157fc PIXI.WebGLRenderer.updateTexture now returns a boolean depending on if the texture was successfully bound to the gl context or not.
PIXI.WebGLSpriteBatch.renderBatch would still try and render a texture even if `updateTexture` failed to bind it. It now checks the return value from `updateTexture` and ignores failed binds.
2015-09-22 15:20:23 +01:00
photonstorm
2633f8ce6d InputHandler.validForInput now checks if the game object has input.enabled set to false and doesn't validate it for input if that's the case. 2015-09-22 15:20:23 +01:00
Richard Davey
9f08442304 Merge pull request #2103 from pnstickne/wip-2062
Fixes #2062 and forward-support for pointer modes
2015-09-22 17:14:32 +03:00
photonstorm
389b6dd1aa Fixed for jshint. 2015-09-22 12:07:14 +01:00
photonstorm
f64fc42f3e The SoundManager now detects if the browser is running under iOS9 and uses a touchend callback to unlock the audio subsystem. Previous versions of iOS (and Android) still use touchstart. This fixes Apple's screw-up with regard to changing the way Web Audio should be triggered in Mobile Safari. Thanks Apple (thanks @MyCatCarlos for the heads-up #2095) 2015-09-22 11:46:58 +01:00
photonstorm
d16de32fe3 Device.iOSVersion now contains the major version number of iOS. 2015-09-22 11:46:20 +01:00
photonstorm
27457c2b0f Touch.addTouchLockCallback has a new argument onEnd which allows the callback to fire either on a touchstart or a touchend event. 2015-09-22 11:46:08 +01:00
Paul
31e5202eff Fixes #2062 and forward-support for pointer modes
Impact:
  - *none for touch devices*
  - *low* / 'expected behavior' for mouse devices

Adds a PointerMode enumeration value for better simple input
discrimination in the future.

The added Button#justReleasedPreventsOver controls if a just-release event
on a pointer prevents it from being able to trigger an over event.

The default value is PointerMode.CONTACT which means this 'release guard'
applies only to touch inputs.

It should fix #2062 as Mouse (PointerMode.CURSOR) input is not caught in the default.

Also expands Button#forceOut to accept a PointerMode value such that it
can be controlled per-input mode.

This is a configurable partial revert of a possibly rogue commit in 2.1.3
and the behavior persists through 2.4.3.
2015-09-22 01:12:43 -07:00
Richard Davey
d86d01bd25 Camera.setBoundsToWorld only adjusts the bounds if it exists (thanks @prudolfs #2099) 2015-09-20 21:07:28 +01:00
Richard Davey
4143b3f3ae rnd check fix. 2015-09-19 11:58:25 +01:00
Richard Davey
96de58cc5f Added lots more info to the jsdocs and tidied up the code for #2056 2015-09-19 11:50:26 +01:00
Richard Davey
a445a9943f Merge pull request #2056 from luckylooke/featGeneratorState
Feature: Allow random generator to get/set state
2015-09-19 13:19:19 +03:00
Richard Davey
9f0628e2bc Merge pull request #2093 from Garbanas/feature/p2-phaser-polygon
(Resource: PhysicsEditor Exporter) Add option to prefix shape name and optimize JSON output
2015-09-19 13:14:14 +03:00
Richard Davey
11de8b1944 Merge pull request #2097 from pnstickne/wip-2092
Fixes edge case when TilingSprite removed before render
2015-09-19 13:09:53 +03:00
Paul
48566e74c5 Fixes edge case when TilingSprite removed before render
- Issues caused when TilingSprite is destroyed before it has
  ever been rendered because `canvasBuffer` not created yet.

Fixes #2092
2015-09-18 20:34:13 -07:00
Christoph Dörfel
a8c4930d42 Add JsDoc comment for Body#addPhaserPolygon return value 2015-09-17 12:11:49 +02:00
photonstorm
b011146a87 Fixed lint errors. 2015-09-16 13:55:33 +01:00
photonstorm
e64f9647db Better output. Need to fix jshint errors next. 2015-09-16 13:36:53 +01:00
photonstorm
09e8d465e4 Lots more work on the FrameDebugger. Just need texture preview and then can test it properly. 2015-09-16 13:17:06 +01:00
Christoph Dörfel
4c9412088c Add option to prefix shape name and optimize JSON output 2015-09-16 14:00:24 +02:00
Richard Davey
61edd1b458 FrameDebugger can now handle Text and BitmapText. 2015-09-16 03:18:15 +01:00
Richard Davey
b89f6dd3b4 Much improved final output and logging process. 2015-09-16 02:25:57 +01:00
Richard Davey
29b4bb3174 :) 2015-09-16 02:25:40 +01:00
Richard Davey
66aca82084 Removed duplicate call. 2015-09-16 02:25:32 +01:00
Richard Davey
4828415d97 Merge pull request #2090 from pnstickne/wip-2088
Updated documentation to clarify 'types' of time
2015-09-15 19:12:02 +03:00
Richard Davey
b6a67cc795 Merge pull request #2091 from noidexe/patch-4
Fix for tile ids between 0x7FFFFFFF and 0xFFFFFFFF
2015-09-15 19:11:36 +03:00
photonstorm
3be0ed8849 FrameDebugger now hooked into Canvas Renderer. Better output coming. 2015-09-15 16:14:14 +01:00
photonstorm
4c5dfc4847 Optimised getSmoothingEnabled, setSmoothingEnabled and setImageRenderingCrisp. 2015-09-15 14:18:00 +01:00
photonstorm
b9fcb7f179 Optimised size of PIXI.CanvasRenderer.mapBlendModes and started removal of options object. 2015-09-15 13:54:17 +01:00
photonstorm
646380f710 Tweaked Canvas.getSmoothingEnabled and Canvas.setSmoothingEnabled to early out on more common browsers.
Added Canvas.getSmoothingPrefix
2015-09-15 13:43:52 +01:00
photonstorm
4125e42a06 Sorted out setting the Stage backgroundColor. Much more concise now. 2015-09-15 13:34:07 +01:00
photonstorm
5f77c70309 jsdoc fix. 2015-09-15 13:33:42 +01:00
photonstorm
8069560aaf No longer needed. 2015-09-15 12:53:44 +01:00
photonstorm
6784a9c1df Optimised render loop slightly. Moved properties to game. 2015-09-15 12:53:44 +01:00
photonstorm
ff254ec33b Added clearBeforeRender boolean. 2015-09-15 12:53:44 +01:00
photonstorm
0ee95b22d6 Fixed rogue comma. 2015-09-15 12:53:44 +01:00
photonstorm
b99c9e22ec Removed PIXI.Stage. Phaser.Stage now handles everything it needs to do. 2015-09-15 12:53:44 +01:00
photonstorm
705cacf2ca Sorting out the Stage background color assignment so we can drop a boolean check in the render method. 2015-09-15 12:53:43 +01:00
photonstorm
5a1a918a5d Added FrameDebugger.
Tidying up the renderer constructors.
2015-09-15 12:53:43 +01:00
photonstorm
06ed961e81 Added FrameDebugger into the mix. 2015-09-15 12:53:43 +01:00
photonstorm
5ceb9914b9 Bumped verison number. Removed default render options (as they're set in Phaser.Game). 2015-09-15 12:53:43 +01:00
photonstorm
daef7d5bfc Consolidating Pixi into Phaser. Removed options object, values all game from Game anyway so it saves space. Starting to move to jsdocs from yuidocs. 2015-09-15 12:53:43 +01:00
Lisandro Lorea
daff43fd77 Fix for tile ids between 0x7FFFFFFF and 0xFFFFFFFF
2147483647 tile ids should be enough for anybody, but it is now working for any valid tile id.
2015-09-15 01:36:13 -03:00
Paul
9733fb4ec2 Updated documentation to clarify 'types' of time
- Added 'Types of time' description and cross-links
- Also some general documentation update for Timer
  - Type specialization

Ref #2088
2015-09-14 20:21:47 -07:00
Lisandro Lorea
f52ca58d7d Correctly interpret binaryString as a sequence of uint32-le values
The previous implementation was ignoring the 3 most significant bytes of each value and would result on improper parsing of any map with tile ids higher than 255
2015-09-14 20:38:58 -03:00
photonstorm
a8e972b25a Under setTimeOut (or when forceSetTimeOut was true) the Time was incorrectly setting Time.timeExpected causing game updates to lag (thanks @satan6 #2087) 2015-09-14 16:31:16 +01:00
photonstorm
5c30a228bb Fixed assignment of TEXTURE_ATLAS_JSON_PYXEL constant (#2050) 2015-09-14 11:23:31 +01:00
Richard Davey
1c7b33107f Merge pull request #2050 from joshpmcghee/dev
Feature: Add support for loading single-layer Pyxel Edit TileMap as an Atlas
2015-09-14 13:21:21 +03:00
Richard Davey
f8ef567641 Merge pull request #2081 from pnstickne/wip-inputhandler-docs2
Fixes incorrect "Pointer" type documentation and parameter names in InputHandler
2015-09-14 13:15:08 +03:00
Lisandro Lorea
8528f0c700 Fixed variable naming style 2015-09-13 12:15:02 -03:00
Lisandro Lorea
308ce6b57c Add support for TiledJSON with base64 encoding
Tiled 0.13.0 added support for layer data compression when exporting as LUA or JSON. This means that any .tmx stored unsing base64 encoding will start exporting layer data as a base64 encoded string rather than a native array. 
Phaser would try to load the level anyway without emitting any errors, resulting in a corrupted level while playing. 
This PR adds detection and support for base64 encoded levels as long as they don't use compression.
2015-09-13 12:07:57 -03:00
Paul
4474b8fde3 Fixes incorrect type and parameter names
- Impact: none; documentation and local variable names only

- Incorrect documentation that claimed to take a Pointer when they really
  took a Pointer ID is fixed

- Also updates parameter names for consistenct/clarity
2015-09-12 17:32:40 -07:00
photonstorm
816bcaca75 Missing physicsElapsed value reset. 2015-09-10 16:05:15 +01:00
photonstorm
8db23545da jsdoc updates. 2015-09-10 15:57:55 +01:00
Richard Davey
96dae9bf2e Merge pull request #2055 from pmcmonagle/dev
Added useCapture flags to removeEventListener where approriate
2015-09-10 00:03:19 +03:00
Richard Davey
6c9e43ad36 DeviceButton was setting a duration property on itself, which went against the read only getter of duration (thanks @winstonwolff) 2015-09-09 21:58:50 +01:00
photonstorm
90a500ec1e Game.update could call updateLogic multiple times in a single frame when catching up with slow device frame rates. This would cause Tweens to advance at twice the speed they should have done (thanks @mkristo)
Time.desiredFpsMult is a pre-calculated multiplier used in Game.update.

Time.refresh updates the `Time.time` and `Time.elapsedMS` values and is called automatically by Game.update.
2015-09-09 12:09:18 +01:00
Richard Davey
aaecf14c12 Merge pull request #2069 from Pappa/master
Fix for AudioBufferSourceNode listener memory leak.
2015-09-08 21:40:19 +03:00
Pappa
12d24d3677 Fix for AudioBufferSourceNode listener memory leak.
In Chrome, the AudioBufferSourceNode onended listeners were never being garbage collected. This frees up the listener for collection.
2015-09-08 17:56:17 +01:00
photonstorm
2de83328d9 Testing Tween timer fix. 2015-09-08 17:44:28 +01:00
photonstorm
7487c15f0e Doc updates. 2015-09-08 15:56:28 +01:00
photonstorm
dbcff585e0 Time.desiredFps has moved to a getter / setter.
Time.physicsElapsed and Time.physicsElapsedMS are no longer calculated every frame, but only when the desiredFps is changed.
Time.update has been streamlined and the `updateSetTimeout` and `updateRAF` methods merged and duplicate code removed.
2015-09-08 15:56:19 +01:00
luckylooke
63f5df9c65 Feature: Allow random generator to get/set state 2015-09-07 21:47:36 +02:00
Richard Davey
d7a42370a4 BitmapData.move, moveH and moveV have a new optional wrap argument allowing you to control if the contents of the BitmapData are wrapped around the edges (true) or simply scrolled off (false). 2015-09-07 01:16:43 +01:00
Richard Davey
8210d4faa1 Removed tween console.log for now. 2015-09-07 00:26:03 +01:00
Paul McMonagle
ad38fff083 Reordered removeEventListener calls to match addEventListener order 2015-09-04 17:11:50 -04:00
Richard Davey
1e7f8dddd9 jsdoc fix. 2015-09-03 00:46:48 +01:00
Richard Davey
38eca4d5b9 Filter.addToWorld allows you to quickly create a Phaser.Image object at the given position and size, with the Filter ready applied to it. This can eliminate lots of duplicate code. 2015-09-03 00:46:47 +01:00
Paul McMonagle
c2bf22ef7c Added useCapture flags to removeEventListener where approriate
Event listeners added with true passed in as the useCapture flag are only removed when true is also passed into the removeEventListener call. Adding this flag to the stop method where appropriate fixes a memory leak in IE where events on window are never removed.

See https://msdn.microsoft.com/en-us/library/ff975250(v=vs.85).aspx
2015-09-02 14:36:49 -04:00
photonstorm
37fc327ea7 Tween elapsed debug. 2015-09-02 16:58:51 +01:00
photonstorm
8833a509eb jsdoc fix. 2015-09-02 16:16:52 +01:00
nickryall
ca795af457 adjust wrapped text that is centered to sprite via anchor 2015-09-02 10:50:03 +12:00
Josh McGhee
fb249b2a41 cleaning up to obey jshint 2015-09-01 01:10:56 +01:00
Josh McGhee
4a19aca212 some cleaning up and documentation polish 2015-09-01 01:03:51 +01:00
Josh McGhee
cbd7265bee cherry pick commits from master. Read: I'm not clever. 2015-09-01 00:57:54 +01:00
Richard Davey
41906c5ac1 When the Text width was being calculated it would add the strokeThickness value twice, causing an alignment offset (thanks @nickryall #2039) 2015-08-31 11:33:18 +01:00
Richard Davey
adcc5d3afb Merge pull request #2047 from Garbanas/feature/p2-remove-collision-group
Convenience function to remove a collision group from a P2 Body
2015-08-31 13:12:13 +03:00
Richard Davey
c10c7cdf2a Merge pull request #2044 from rblopes/dont-prefix-data-urls
Prevent 'data:' URLs from being prefixed
2015-08-31 13:08:22 +03:00
Richard Davey
af194d447c jsdoc fix #2049 2015-08-31 10:57:54 +01:00
Christoph Dörfel
96441fdb27 Set correct default value for 'clearCallback' on P2.Body.removeCollisionGroup 2015-08-30 01:30:33 +02:00
Christoph Dörfel
2623ddeaf7 Convenience function to remove a collision group from a P2 Body 2015-08-30 00:19:37 +02:00
Rafael Barbosa Lopes
1485fd110a Updated to use a matching expression instead.
Replaced the booleans with a matching expression. Now, URLs
beginning with the following patterns will be ignored:

- blob:
- data:
- http://
- https://
- //

As suggested by @pnstickne.
2015-08-28 17:19:24 -03:00
Rafael Barbosa Lopes
14632cdfb5 Prevent 'data:' URLs from being prefixed
Fixes an issue where 'data:' URLs may get prefixed by
`#baseURL` and `#path` properties making these URLs invalid.
2015-08-28 15:14:30 -03:00
photonstorm
32b0c98f7a Group.resetChild is a new method that allows you to call both child.reset and/or child.loadTexture on the given child object. This is used internally by getFirstDead and similar, but is made public so you can use it as a group iteration callback. Note that the child must have public reset and loadTexture methods to be valid for the call.
Group.getFirstDead, Group.getFirstAlive and Group.getFirstExists all have new optional arguments: `createIfNull`, `x`, `y`, `key` and `frame`. If the method you call cannot find a matching child (i.e. getFirstDead cannot find any dead children) then the optional `createIfNull` allows you to instantly create a new child in the group using the position and texture arguments to do so. This allows you to always get a child back from the Group and remove the need to do null checks and Group inserts from your game code. The same arguments can also be used in a different way: if `createIfNull` is false AND you provide the extra arguments AND a child is found then it will be passed to the new `Group.resetChild` method. This allows you to retrieve a child from the Group and have it reset and instantly ready for use in your game without any extra code.
2015-08-28 12:23:48 +01:00
photonstorm
f0d7da1c56 Removed RND.float as it's a reserved word :(
Fixed jshint errors.
2015-08-27 19:28:01 +01:00
photonstorm
b14510d1e7 Fixing some emitter issues with position. 2015-08-27 19:11:26 +01:00
photonstorm
9d1217ea21 Fixed the rnd calls. 2015-08-27 14:57:50 +01:00
photonstorm
ddcc46124c RandomDataGenerator.float is a new alias for the method 'realInRange' and takes the same arguments. 2015-08-27 14:57:23 +01:00
photonstorm
9798864cc6 Emitter.emitParticle now has 4 new optional arguments: x, y, key and frame. These allow you to override whatever the Emitter default values may be and emit the particle from the given coordinates and with a new texture. 2015-08-27 14:48:52 +01:00
Paul
26a6338072 Change splice.call(arguments, ..) to use slice
- Bypasses issue of usage incorrectly omitting 2nd argument to `splice`

- More clear of intent; `slice` does not modifify `arguments`

- `slice` is faster across all desktop browsers, by varying degrees
  - Probably due to parameter-aliasing and de-opts when modified.
  - Both `slice` and `splice` create a new Array object
2015-08-26 23:50:16 -07:00
Richard Davey
bae732ca9e Merge pull request #2027 from bsparks/dev
utilize the heal method
2015-08-26 23:38:40 +03:00
Richard Davey
a1bd35fc35 Tidied up formatting and improved jsdocs. 2015-08-26 19:13:46 +01:00
Richard Davey
b4a72b8747 Merge pull request #2025 from rwrountree/dev
Optimize the average function in math.js
2015-08-26 21:07:24 +03:00
Richard Davey
8b6d696316 jsdoc fix. 2015-08-26 03:59:18 +01:00
Ben Sparks
b7efb93698 utilize the heal method instead of just adding to health when reviving, so that maxHealth is respected 2015-08-25 14:42:02 -07:00
photonstorm
1e88bdda70 Loader.bitmapFont wouldn't automatically set the atlasURL value if just the key was given. 2015-08-25 13:46:28 +01:00
Rusty Rountree
f017db806a Phaser.Math.fuzzyCeil and Phaser.Math.fuzzyFloor should not return boolean values as stated in @return section of the comments 2015-08-25 04:06:06 -05:00
Rusty Rountree
92bac852c8 Optimize the average function in math.js 2015-08-25 02:16:31 -05:00
photonstorm
482d3c9882 Preparing for 2.4.4 dev. 2015-08-24 16:01:58 +01:00
photonstorm
486c15f16f New docs. 2015-08-24 15:43:45 +01:00
photonstorm
bf862964d2 Phaser 2.4.3 Release. 2015-08-24 13:55:00 +01:00
photonstorm
94223c66b7 Updated blend mode multiply check (#1994) 2015-08-24 13:53:46 +01:00
photonstorm
cc7b632a37 Phaser.TilemapParser.INSERT_NULL is a new boolean that controls what happens when the parser encounters an empty tile: When scanning the Tiled map data the TilemapParser can either insert a null value (true) or a Phaser.Tile instance with an index of -1 (false, the default). Depending on your game type depends how this should be configured. If you've a large sparsely populated map and the tile data doesn't need to change then setting this value to true will help with memory consumption. However if your map is small, or you need to update the tiles (perhaps the map dynamically changes during the game) then leave the default value set (thanks #1982) 2015-08-24 12:36:23 +01:00
photonstorm
0cce3f8287 Enabling a filter on a display object that had a blend mode set would cause the object to become invisible. The two cannot be combined, so when you set a filter on a display object it now automatically resets the blend mode to NORMAL. The same does not happen in reverse however, so if you've got a filter set and then change the blend mode it will still break. Be careful to capture this yourself (thanks @wayfu #1994) 2015-08-24 12:26:02 +01:00
photonstorm
5056eedb58 Optimised local vars to reduce file size.
Trying out null tile properties.
2015-08-24 12:03:32 +01:00
photonstorm
4ab5a07abf jsdocs fix. 2015-08-24 12:03:03 +01:00
photonstorm
09f5742410 Tilemap.shuffle was calling the deprecated Phaser.Utils.shuffle, which has now moved to Phaser.ArrayUtils.shuffle. 2015-08-24 12:02:43 +01:00
photonstorm
bcedd921b7 Cache.addSpriteSheet didn't include default values for the frameMax, margin and spacing arguments (thanks @vladkens #2017 #2018) 2015-08-24 11:43:34 +01:00
photonstorm
845a14ff55 TilingSprite._renderCanvas wasn't correctly allowing for pixel rounding (thanks @ximop #2022 2015-08-24 11:38:59 +01:00
photonstorm
226b7070a8 Fixed issue with an extra 4px being added to the canvas elements because the display type wasn't set. 2015-08-24 11:32:32 +01:00
photonstorm
a5a503b02c Phaser 2.4.3-RC1 build files. 2015-08-21 16:25:41 +01:00
photonstorm
5ffb5b558d Tilemap.createFromObjects has been strengthened so that will only create Sprites for matching gids/ids/names. It also only sets the Sprite width and height values if they are present in the Tiled data (thanks @pparke #2012) 2015-08-20 13:22:06 +01:00
photonstorm
22f7aacfcb Added frameBased to the TweenManager and made Tween.frameBased reference that setting, allowing you to set it once (#2015) 2015-08-20 12:59:06 +01:00
photonstorm
a9354d4a3f Added withinGame to Pointer Debug. 2015-08-20 12:48:09 +01:00
photonstorm
4fa1ffb4cf JSDocs update. 2015-08-20 12:47:59 +01:00
photonstorm
99fbf35236 * Pointer.withinGame is no longer automatically set to 'false' in the Pointer.stop method - it will check if the Pointer actually is within the stage bounds and only set withinGame to false if it's outside the bounds.
* MSPointer now has an `onPointerUpGlobal` handler for when the pointer is released outside of the canvas, but still within the browser window. This means that in IE11 a Sprites `onInputUp` event will now trigger even when outside the canvas (thanks @bvargish #2000)
* MSPointer now has handles for the pointer being over and outside of the canvas element, which sets the Pointer.withinGame booleans accordingly. It also triggers the Mouse.mouseOutCallback and Mouse.mouseOverCallback callbacks respectively.
* The MSPointer event listeners have been renamed to all lower-case, i.e. 'pointerDown' is now 'pointerdown'.
2015-08-20 12:47:50 +01:00
photonstorm
55a7699381 Setting a P2.Body from Static or Kinematic to Dynamic will now automatically adjust the Body.mass to be 1 (thanks @wayfu #2005) 2015-08-20 11:19:30 +01:00
Richard Davey
994a7dae73 jsdoc fix #2013 2015-08-19 22:19:55 +01:00
photonstorm
103c37cd42 BitmapData.drawFull draws the given Game Object or Group to a BitmapData and then recursively iterates through all of its children, including children of Game Objects and Groups. It can draw Text, BitmapText, Sprites, Images, Emitters and Graphics objects. It's perfectly valid to pass in game.world as the parent object, and it will iterate through the entire display list. 2015-08-19 14:19:26 +01:00
photonstorm
176289f514 Video.stop now removes the 'playing' event listener, which stop Videos set to loop from throwing errors after being destroyed. 2015-08-18 16:04:10 +01:00
photonstorm
b1a05a6f52 BitmapText.font failed to pull the new font from the Phaser Cache, stopping it from updating properly (thanks @AbrahamAlcaina #2001) 2015-08-18 13:48:08 +01:00
Vladislav Forsh
888f88ece8 Fixed js doc for cache.getRenderTexture 2015-08-11 20:31:31 +03:00
nickryall
57aaf23238 Fix for fullscreen retina 2015-08-09 20:32:04 +12:00
Richard Davey
7fbeb1c062 BitmapData.line draws a line to the BitmapData in the color and thickness specified.
Lots of BitmapData updates to use local vars and 'op' property, cutting down code size.
2015-08-07 02:48:00 +01:00
Richard Davey
fc8bff7b9e jshint fix. 2015-08-07 01:41:59 +01:00
Richard Davey
7588e123c7 Line.centerOn will position the Line so that its midpoint lays on the coordinates given. 2015-08-07 01:40:37 +01:00
Richard Davey
614b84e2ea * Line.rotateAround allows you to rotate a Line around the given coordinates (in world space)
* Point.rotate uses a faster and simpler rotation function when no distance argument is specified.
* Line.rotate used a calculation method which resulted in the line growing (or shrinking) in length over time, the more it was rotated. The new method never changes the lines length.
2015-08-07 01:35:31 +01:00
photonstorm
8e7b717a50 Line.midPoint will return a Point object where the x and y values correspond to the center (or midpoint) of the Line segment. 2015-08-06 17:10:39 +01:00
Richard Davey
62c87052cb Merge pull request #1985 from yahiko00/master
Extra documentation and TypeScript definition file update
2015-08-06 14:20:26 +01:00
Yahiko Uzumaki
0416c6a9ee Update BitmapData.js
Fix explanation.
2015-08-06 13:57:43 +02:00
yahiko
d412431947 Add extra information for the imageData property. 2015-08-06 13:49:51 +02:00
Brice Thomas
ef536d276a doc(Signal): fix typo 2015-08-06 13:34:14 +02:00
photonstorm
9a0b6c24a4 Text can now accept undefined or null as the text argument in the constructor and will cast it as an empty string. 2015-08-06 10:28:49 +01:00
Richard Davey
80540ea919 Added 'clear' argument to RenderTexture.render, which resolves the image build-up problem for cacheAsBitmap (#1925) 2015-08-06 01:01:58 +01:00
Richard Davey
7fc23c9abe Text.setTextBounds didn't add the x and y values to the width and height offsets. 2015-08-04 23:06:07 +01:00
photonstorm
1fed360659 VideoStream.active = false is used if the browser supports it, otherwise it falls back to VideoStream.stop. 2015-08-04 15:48:43 +01:00
photonstorm
b365ebf570 jshint fix. 2015-08-03 16:45:03 +01:00
photonstorm
f4a1f11429 PIXI.CanvasPool is a new static global created to deal with the issue of resource leaks and continuous DOM node build-up when creating lots of Text or BitmapData objects, or when calling generateTexture on any display object. The CanvasPool will do its best to re-use out dated canvas elements rather than filling up the DOM with new ones.
Sprite.setTexture has a new `destroyBase` parameter - set this to `true` if you know the base used a generated texture that isn't being used by any other sprites. This will free-up the canvas for further re-use by other calls to generateTexture or Text objects.
2015-08-03 16:09:16 +01:00
photonstorm
e901fb80f6 Merging in the CanvasPool changes to the core. 2015-08-03 14:46:55 +01:00
photonstorm
50516e3d34 Testing CanvasPool. 2015-08-03 14:33:12 +01:00
photonstorm
0493e19b8b Group.cacheAsBitmap would be incorrectly offset in Canvas mode (thanks @mkristo #1925) 2015-08-03 12:03:20 +01:00
photonstorm
4e857f19f6 BitmapText with tints applied wouldn't update properly in Canvas mode (thanks @Pajamaman #1969) 2015-08-03 11:51:04 +01:00
photonstorm
98ae410c34 Removed use of the deprecated enterFullScreen and leaveFullScreen signals from the Scale Manager (thanks @mmanlod #1972) 2015-08-03 11:44:00 +01:00
Richard Davey
9362a2b1f4 Text with tints applied wouldn't update properly in Canvas mode. 2015-07-31 19:09:49 +01:00
Richard Davey
4eb223f987 jsdocs fix. 2015-07-31 18:39:37 +01:00
Richard Davey
a56cd31638 jsdoc updates. 2015-07-31 18:39:37 +01:00
photonstorm
78fdb224ce ArrayUtils.numberArrayStep would return an empty array if a single parameter was given, instead of a single step array (thanks @pooya72 #1958) 2015-07-31 16:21:10 +01:00
Richard Davey
cbc68ab4c9 Merge pull request #1950 from jdnichollsc/dev
Added Text.addFontStyle and Text.addFontWeight
2015-07-31 16:00:47 +01:00
photonstorm
d23e5d6eba BitmapText.smoothed is a new boolean property that allows you to set texture smoothing on a bitmap font or not. By default smoothing is always on, but you can turn it off which helps for bitmap fonts created from pixel art style character sets. 2015-07-31 15:58:00 +01:00
photonstorm
159f49d5bf Experimenting with generateTexture fixes for Canvas. 2015-07-30 17:17:31 +01:00
Richard Davey
0bad5e4ab2 Merge pull request #1957 from bixi/temp
Fix p2 BodyDebug pixelsPerLengthUnit bug.
2015-07-30 17:15:48 +01:00
vrecluse
632c258d8d Fix p2 BodyDebug pixelsPerLengthUnit bug.
When mpx doesn’t return default value, the debug body size and position
goes wrong.
2015-07-31 00:04:32 +08:00
photonstorm
fc83dc6bdf Tween.frameBased allows you to control if a Tween updates based on the physics step (i.e. frame based) or the system clock (time based). A frame based tween will use the physics elapsed timer when updating. This means it will retain the same consistent frame rate, regardless of the speed of the device. The duration value given should be given in frames. If the Tween uses a time based update (which is the default) then the duration is given in milliseconds. In this situation a 2000ms tween will last exactly 2 seconds, regardless of the device and how many visual updates the tween has actually been through. 2015-07-30 15:27:51 +01:00
photonstorm
c032d57183 Loader.images is a new method that allows you to pass an array of image keys, and optionally the urls, to the Loader and have them all added to the load queue in one go. 2015-07-30 15:01:52 +01:00
photonstorm
1393c8a98b InputHandler.pointerOver would get stuck in an 'isOver' state if the Sprite changed its visibility during an onUp callback (thanks @Cristy94 #1955) 2015-07-30 14:45:34 +01:00
photonstorm
a4321e56e3 * Pointer.isDown was reset before the Input.onUp event, meaning you couldn't get the Pointer.duration from within the event.
* Pointer.isDown was reset before the Input tap calculations, meaning onTap wouldn't dispatch (thanks @stovenator #1953)
2015-07-30 14:08:26 +01:00
photonstorm
6139071ebc Preparing for 2.4.3 dev. 2015-07-29 15:14:40 +01:00
photonstorm
4b22f48c75 2.4.2 release. 2015-07-29 15:01:04 +01:00
photonstorm
962066102c Pointer fixes for Linux FireFox (#1932 #1944) 2015-07-28 14:18:36 +01:00
Juan David Nicholls Cardona
655013da1b Added Text.addFontStyle and Text.addFontWeight allows you to set styles and weights font within the Text. 2015-07-28 02:05:08 -05:00
David Leonard
cbcc1a7bdb Merge remote-tracking branch 'upstream/dev' into dev 2015-07-27 07:14:48 -07:00
David Leonard
2f634c6337 Minor fix to docstring 2015-07-27 07:12:17 -07:00
photonstorm
a8934c392d Phaser.Sound will now automatically check the Cache to see if the audio file it is using is still there or not. If not then it will automatically called Sound.destroy on itself. If you do not desire this result then you should ensure that you undertake all house-keeping yourself, and properly destroy Sound objects _before_ calling Cache.removeSound (#1946) 2015-07-27 14:02:04 +01:00
photonstorm
fd6c29e451 Pointer.move would accidentally reset the isDown status of the Pointer on touch devices, which broke things like Sprite input events when built to native apps or run locally (#1932 #1943) 2015-07-27 13:34:06 +01:00
Richard Davey
1f73bbbe94 Device.canPlayVideo now checks for ogv as a valid file extension for OGG video files (thanks @JB-Tellez #1928) 2015-07-26 13:19:05 +01:00
Richard Davey
50480d815f * Cache.getFrame has a new cache parameter (that defaults to the Image cache, but can be changed to any other)
* Cache.getFrameCount has a new `cache` parameter (that defaults to the Image cache, but can be changed to any other)
* Cache.getFrameData has a new `cache` parameter (that defaults to the Image cache, but can be changed to any other)
* Cache.hasFrameData has a new `cache` parameter (that defaults to the Image cache, but can be changed to any other)
* Cache.getFrameByIndex has a new `cache` parameter (that defaults to the Image cache, but can be changed to any other)
* Cache.getFrameByName has a new `cache` parameter (that defaults to the Image cache, but can be changed to any other)

re: #1935
2015-07-26 13:14:25 +01:00
Richard Davey
2e12cd70ed DeviceButton would try to set altKey, shiftKey and ctrlKey even for Joypads (thanks @zatch #1939) 2015-07-26 13:01:24 +01:00
Imanol Fernandez
e41dba7f0c Fix unmatched context.save() & context.restore() calls 2015-07-24 17:36:56 +02:00
photonstorm
74a8ba0080 Preparing for 2.4.2 dev. 2015-07-24 14:04:30 +01:00
photonstorm
444e2cffe5 More tests with the UMD wrapper. 2015-07-24 13:21:33 +01:00
photonstorm
328fd32290 Cache.removeImage now calls destroy on the image BaseTexture, removing it from the PIXI global caches without throwing a warning. 2015-07-24 13:21:18 +01:00
Richard Davey
478d005f0b Testing new UMD wrapper. 2015-07-24 09:43:44 +01:00
Richard Davey
aeda044143 Safari on OSX wouldn't recognise button presses on trackpads (thanks JakeCake) 2015-07-23 20:54:59 +01:00
photonstorm
7a6de818e1 Updated Grunt build scripts so that all third party libs (such as Creature, P2, gl-matrix and PIXI) are now kept well and truly outside of Phaser. They are defined and placed first in the build files. So no more PIXI hiding within the Phaser namespace or UMD patching for Phaser required. 2015-07-23 16:00:45 +01:00
photonstorm
9a83ddcab9 Updated to latest Creature runtimes, added to GameObjectFactory. 2015-07-23 13:25:08 +01:00
jamesgroat
10587e07ee Use _cacheMap to map from constant to _cache. 2015-07-22 16:53:07 -07:00
Richard Davey
1e6f83dbd3 Preparing for 2.4.1 development. 2015-07-22 17:26:12 +01:00
photonstorm
858ad51610 Phaser 2.4 release. 2015-07-22 15:31:30 +01:00
photonstorm
ffaa7d711f Removed BaseTextureCache requirement from BitmapData.
Fixed jshint.
Updated TS defs.
2015-07-22 13:23:40 +01:00
photonstorm
8eb34f96ce WebGL context loss and restoration is now handled directly by Phaser.
Cache.clearGLTextures empties out all of the GL Textures from Images stored in the cache. This is called automatically when the WebGL context is lost and then restored.
2015-07-22 12:59:32 +01:00
photonstorm
915a757f96 Text.updateText will now check the width and height values of the Text canvas and if either are zero it sets Text.renderable = false to avoid throwing WebGL texture binding errors. 2015-07-22 12:43:43 +01:00
photonstorm
f28bc82fe3 Fixed packfiles undefined path error. 2015-07-22 10:53:15 +01:00
photonstorm
f15fe6706c All undefined argument checks were changed from if (typeof x === 'undefined') to if (x === undefined) removing the typeof check and saving some bytes across the codebase in the process. 2015-07-22 10:37:15 +01:00
Richard Davey
9e38bf974a World.stateChange is a new method that is called whenever the state changes or restarts. It resets the world x/y coordinates back to zero and then resets the Camera.
Sprites with Arcade Physics bodies that had `collideWorldBounds` enabled would be moved to the wrong position if you restarted a State (or swapped to a new State) that reset the world bounds (thanks @vulvulune #1775)
2015-07-22 01:24:26 +01:00
Richard Davey
356864ff8a TweenData.update now uses the Time.elapsedMS value for its delta calculation, instead of the physicsStep - this is because tweens are inherently time duration based and on a lagging system they were not properly completing when they should do (also addresses #1819) 2015-07-22 00:09:06 +01:00
Richard Davey
b906463189 Internally the Time class has been updated to split out the RAF and SetTimeout implementations. This cuts down the update loop workload significantly, which was causing a performance optimization bottleneck in V8. 2015-07-21 21:41:26 +01:00
Richard Davey
fc1e0de790 Merge pull request #1923 from mkristo/pixi-patch
Make PIXI available for Phaser when using require
2015-07-21 16:14:09 +01:00
photonstorm
ee59425be3 RC3 2015-07-21 15:19:26 +01:00
Richard Davey
c6534a56b6 Merge pull request #1922 from mkristo/process-patch
Fix reference error for process
2015-07-21 14:21:12 +01:00
photonstorm
7144b10ad5 TileSprites fixed for WebGL. 2015-07-21 13:24:12 +01:00
Markus Kristo
da6d7a58e3 Fix reference error for process
process was defined, while window.process wasn't.
2015-07-21 13:53:18 +02:00
Markus Kristo
17c0768521 Add PIXI to the Phaser namespace
Hackish solution to make it possible to access PIXI directly from a game.
2015-07-21 11:00:30 +02:00
Markus Kristo
6d742155bf Make sure PIXI is available when using require for phaser builds
This is a hackish solution, and would not be needed if Phaser used require and a JS bundler like webpack
2015-07-21 10:55:54 +02:00
photonstorm
92486f85d9 Removed console.log. 2015-07-20 14:01:45 +01:00
photonstorm
cf74eaa396 MSPointer now checks the pointerType property of the DOM event and if it matches 'mouse' it will update Input.mousePointer, rather than Input.pointer1 (or whatever the next free Pointer was). 2015-07-20 14:01:21 +01:00
photonstorm
7ffbeb8a2a Added Mouse consts back in (#1903) 2015-07-20 12:38:41 +01:00
photonstorm
bb6c5bbbdc Key added to TextureAtlas and SpriteSheet, fixing the 'undefined' key error in LoadTexture. 2015-07-20 12:00:37 +01:00
photonstorm
b6ad27ed24 Phaser 2.4 RC2. 2015-07-17 17:51:05 +01:00
photonstorm
b470601faf Tidying up docs. 2015-07-17 17:50:53 +01:00
photonstorm
c2812a7b5c jshint fixes and renamed float to padFloat. 2015-07-17 14:11:11 +01:00
photonstorm
5d0788b47d Consolidated all Pointer buttons into the new DeviceButton class. 2015-07-17 13:52:09 +01:00
photonstorm
32ea5bee03 Fixes #1916 - but am now working on the DeviceButton class to tidy it all up. 2015-07-17 12:24:08 +01:00
photonstorm
45944d689c Fix for #1914 2015-07-16 22:45:25 +01:00
Richard Davey
6531552b32 Merge pull request #1905 from standardgaussian/aabbninja
AABB vs. AABB collision in Ninja
2015-07-16 15:45:09 +01:00
Richard Davey
2d3b1ee383 Merge pull request #1911 from mthurlin/patch-1
game.make.group() did not setup parent correctly
2015-07-16 15:40:10 +01:00
Richard Davey
fcaa6cec68 Merge pull request #1912 from Feenposhleen/feature/fixing-json-fonts
Improving JSON BitmapText implementation
2015-07-16 15:37:09 +01:00
photonstorm
7271eb5e2d Removed un-needed cache arguments and fixed jshint error. 2015-07-16 14:58:51 +01:00
Charlo
795a7c80a8 Improving JSON BitmapText implementation 2015-07-16 13:30:55 +02:00
Richard Davey
f552615982 Fixed RenderTexture in WebGL. 2015-07-16 02:27:07 +01:00
Richard Davey
9c588d94e8 PIXI.BitmapText has been removed as a global array, as it is no longer used. 2015-07-16 01:29:32 +01:00
Richard Davey
9314c5a767 LoaderParser.bitmapFont, xmlBitmapFont and jsonBitmapFont all now return the font data rather than write it to the now deprecated PIXI global font cache. 2015-07-16 01:17:03 +01:00
Richard Davey
3c7293ab57 Updated AnimationParser and fixed LoadTexture calls. 2015-07-16 01:02:59 +01:00
Richard Davey
bab50d7c88 * The Cache has been internally refactored considerably. Image data is now all stored in the same object, rather than being split across the PIXI global caches (such as PIXI.TextureCache and PIXI.BaseTextureCache), which are no longer used by Phaser.
* Internally the Cache now uses a single _cache object, which is partitioned to store the various different object types. Before the cache used lots of private objects, one per data type, but it's now a lot cleaner and we've managed to cut out hundreds of lines of duplicate code in the process.
* Cache.getImage has a new argument which lets you return either just the HTML Image element or the entire image cache object, which includes the baseTexture and frame data.
* Cache.getImage will return a __default image if the key isn't given, or a __missing image if the key is given but not found in the cache. This means it will always return a valid image and no longer cause Phaser to throw runtime errors deeper down with invalid image objects.
2015-07-16 00:46:28 +01:00
Richard Davey
5e33a2ea92 TS defs updates for the Cache changes. 2015-07-15 23:22:51 +01:00
Richard Davey
6921b30d94 The Loader can now load external fragment shaders (.frag files) 2015-07-15 23:22:25 +01:00
Richard Davey
1c9fb614a4 PIXI._CompileShader can now take an array or a string for the fragment src. 2015-07-15 23:20:39 +01:00
Richard Davey
1f66cdbcb5 Lots of jsdoc updates and small fixes. 2015-07-15 21:52:19 +01:00
photonstorm
f52b553eaf Loads more Cache optimisations and tweaks. 2015-07-15 17:06:29 +01:00
photonstorm
81b553d8ee Ok let's start removing these 'typeof' checks. 2015-07-15 16:33:26 +01:00
photonstorm
d663d290c2 hasFrameData added and some LoadTexture updates. 2015-07-15 16:33:01 +01:00
photonstorm
8dd3e06747 Loads of Cache optimisations and updates. 2015-07-15 15:00:21 +01:00
Markus Thurlin
d360384f4a game.make.group() did not setup parent correctly 2015-07-15 14:30:28 +02:00
photonstorm
f41f806b99 Fixed issue with looped animations skipping last frame (or getting stuck on a single frame in 2 frame anims) 2015-07-14 13:47:25 +01:00
photonstorm
a0d57544c7 P2 updates finished. 2015-07-13 14:48:33 +01:00
photonstorm
956fa493a6 The P2.Body.onBeginContact arguments have changed. It now sends 5 arguments: The Phaser.P2.Body, the p2.Body, the p2 Shape from Body A, the p2 Shape from Body B and the contact equations array. Note that the Phaser.P2.Body may be null if you collide with a 'native' p2 body (such as the world bounds). However the p2.Body argument will always be populated.
The P2.Body.onEndContact arguments have changed. It now sends 4 arguments: The Phaser.P2.Body, the p2.Body, the p2 Shape from Body A and the p2 Shape from Body B. Note that the Phaser.P2.Body may be null if this is the end of a contact with a 'native' p2 body (such as the world bounds). However the p2.Body argument will always be populated.

Upgraded to p2.js 0.7.0
2015-07-13 11:44:04 +01:00
Richard Davey
502dd548fb Loader.path is a string and if set it is placed before any _relative_ file path given to the Loader. For example: load.path = "images/sprites/"; followed by load.image("ball", "ball.png"); and load.image("tree", "level1/oaktree.png"); would load the ball file from images/sprites/ball.png and the tree from images/sprites/level1/oaktree.png. The path is added before the filename but *after* the Loader.baseURL. The path _must_ end with a "/". Set it to nothing to disable the path. 2015-07-12 23:43:35 +01:00
Richard Davey
8b165b9225 Reduce booleans. 2015-07-12 16:19:23 +01:00
Richard Davey
44c650f6e7 PIXI.DisplayObject.updateTransform now nulls the _currentBounds property (thanks @gaufqwi #1906) 2015-07-12 12:01:38 +01:00
Richard Davey
41d702b485 Pointer.isUp and isDown are now set in the updateButtons method based on the state of ANY button on the device, jsdocs also updated to reflect this (#1902) 2015-07-12 11:56:25 +01:00
Richard Davey
b0a8d3d78c Mouse.button and MSPointer.button properties removed and jsdocs expanded to explain the correct path to now take (#1903) 2015-07-12 11:47:20 +01:00
Richard Davey
4dec046c40 Added pendingDestroy to Groups. 2015-07-12 11:33:30 +01:00
Standard Gaussian
b8710d7066 Removed unused local variables in Ninja.AABB.reportCollisionVsBody 2015-07-11 21:28:15 +01:00
Standard Gaussian
e7356e003f Implemented Ninja AABB vs AABB collisions 2015-07-11 21:04:16 +01:00
Richard Davey
1850e287bd Merge pull request #1899 from spayton/updev
Removed use of deprecated signals (enterLandscape & enterPortrait)
2015-07-10 17:09:35 +01:00
photonstorm
d3525950a2 Group.addMultiple if given a Group.children array as the first parameter would fail as the original group length was decreased out of line with the children being added. Group.addMultiple now checks if the children argument is a Phaser.Group instance, and if so it uses Group.moveAll instead on it (thanks @AnderbergE #1898)
Group.moveAll allows you to move all of the children of a Group into another Group.
2015-07-10 17:05:54 +01:00
spayton
37e0efefe3 Removed use of deprecated signals (enterLandscape & enterPortrait) 2015-07-10 14:42:17 +01:00
Richard Davey
8e92c13412 Canvas.setSmoothingEnabled only applies the value of the property exists, which avoids the Chrome webkit prefix deprecation warnings. 2015-07-10 04:02:21 +01:00
Richard Davey
f65bca1026 All Signals now have the ability to carry extra custom arguments with them, which are passed on to the callback you define after any internal arguments. For example a Phaser.Key has an onDown signal. When dispatched onDown sends a reference to the Key as the first and only argument. But you can now set the callback like this: fireKey.onDown.add(shoot, this, 0, 'lazer', 64). So when the onDown signal is dispatched internally the callback (shoot in this case) will receive 3 arguments: the Key reference that is raised internally and the string 'lazer' and value 64, which were the custom arguments provided when setting-up the callback. 2015-07-09 21:15:00 +01:00
Richard Davey
03e2f1a2b5 On trackpads Pointer.updateButtons now checks for the ctrlKey being pressed and sets rightButton to true as a result. 2015-07-09 19:26:00 +01:00
photonstorm
45f06bd01c Fixed #1866 2015-07-09 16:41:53 +01:00
photonstorm
5f611f83cb Fixed small texture bug. 2015-07-09 15:51:24 +01:00
photonstorm
8cf300fc11 Added Japanese Machine palette. 2015-07-09 14:29:18 +01:00
photonstorm
89c87bc9db Updated addKeys to take an object instead of 2 arrays - it's just cleaner and reads easier in code. 2015-07-09 14:28:58 +01:00
photonstorm
630886da28 Reverting Windows Phone WebGL - Canvas force #1706 2015-07-09 11:51:27 +01:00
photonstorm
5ad3698703 BitmapData.clear has 4 new optional parameters: x, y, width and height, that define the area to be cleared. If left undefined it works exactly the same as before and clears the entire canvas. 2015-07-09 11:44:21 +01:00
Richard Davey
0dc8757781 Updates. 2015-07-09 01:30:03 +01:00
Richard Davey
6a8e6a7954 Adding in Phaser.Create. 2015-07-09 00:19:21 +01:00
Richard Davey
d027bf8ba7 BitmapData.generateTexture will take a snapshot of the BitmapDatas canvas at that moment in time and convert it into an Image, which is then stored in the Phaser image Cache based on the key given. You can then use the new texture for any future sprites or texture based objects. 2015-07-09 00:19:07 +01:00
Richard Davey
7253ac368d jsdoc update. 2015-07-08 19:11:41 +01:00
Richard Davey
3590272c51 All Game Objects have a new boolean property called pendingDestroy. If you set this to true then the object will automatically destroy itself in the *next* logic update, rather than immediately. This is useful for cases when you wish to destroy an object from within one of its own callbacks, such as with buttons or other input events (thanks @alamboley #1748) 2015-07-08 18:52:01 +01:00
photonstorm
1b5da312d0 RandomDataGenerator.weightedPick has been tweaked slightly to allow for a more even distribution of weights. It still favors the earlier array elements, but will accurately include 'distance' elements as well (thanks @gingerbeardman #1751) 2015-07-08 17:20:36 +01:00
photonstorm
87ac0b8f50 jsdoc tweak. 2015-07-08 16:40:40 +01:00
photonstorm
64b1794d67 Rope.segments used the wrong vertices property, causing a runtime error.
Debug.ropeSegments didn't take the scale of the Rope object into consideration, causing incorrect debug rendering.
2015-07-08 16:40:26 +01:00
photonstorm
47e1d16a6d jshint fix. 2015-07-08 16:00:03 +01:00
photonstorm
b9dcf74726 If the device is detected as a Windows Phone the renderer is automatically set to use Canvas, even if WebGL or AUTO was requested (thanks @ramarro123 #1706) 2015-07-08 15:25:52 +01:00
photonstorm
0f31358724 Device.windowsPhone should now correctly identify Windows Phone 8.1 devices, which also think they are iOS and Androids. If you find a device that gets around this check please send us its ua string! (thanks @jounii #1496) 2015-07-08 15:22:32 +01:00
photonstorm
f48d038db3 Lots of jsdoc updates (#1644) 2015-07-08 15:10:41 +01:00
photonstorm
1281bc52d7 Setting the scaleMode property of a Game configuration object would cause a ScaleManager TypeError in the resize method. It now stores the scale mode locally and applies it after boot (thanks @Mickawesomesque #1534) 2015-07-08 14:52:20 +01:00
photonstorm
3012e49937 Text.addColor would incorrectly color the text stroke if set (thanks @llevkin #1893
Text.addStrokeColor works in the same way as `Text.addColor` but allows you to define a color stop for the stroke color instead of the fill color.
2015-07-08 12:52:39 +01:00
Richard Davey
86cac2085c BitmapData.move(x, y) allows you to shift the contents of the BitmapData horizontally and vertically by the given amounts. The image wraps-around the edges of the BitmapData.
BitmapData.moveH(distance) allows you to horizontally shift the BitmapData with wrap-around the edges.

BitmapData.moveV(distance) allows you to vertically shift the BitmapData with wrap-around the edges.
2015-07-08 04:26:28 +01:00
Richard Davey
a7e18137d1 Text has a new style property: tabs. This allows you to specify a pixel value (or values) that allows you to space out text that contains tab characters within it. Text.tabs can be either an integer, in which case all tabs share the same spacing, or an array of pixel values corresponding exactly to the number of tabs per line of text. This allows you to easily align columns of data in a single Text object. 2015-07-08 01:15:31 +01:00
Richard Davey
3066f60f11 parseList support added. 2015-07-08 00:03:03 +01:00
Richard Davey
2e447ec01d Tidied up tab handling a little. 2015-07-07 23:41:37 +01:00
Richard Davey
ae08b9ac02 Text tab support working. Now to add varying tab sizing. 2015-07-07 23:31:44 +01:00
Richard Davey
b8cc4d9d53 Updated Text resolution handling. 2015-07-07 20:48:00 +01:00
photonstorm
a19479d948 jsdocs update. 2015-07-07 16:58:41 +01:00
photonstorm
157df30696 Pointer button handling has been given an overhaul. It has the following new boolean properties: leftButton, rightButton, middleButton, backButton, forwardButton and eraserButton. So you can now easily check which buttons are active and build right or middle click support into your games. The Pointer object normalises these properties for you, regardless if they came from a MouseEvent or PointerEvent (thanks @youssefdetovernickr for the idea #1848) 2015-07-07 16:53:56 +01:00
photonstorm
9548fb9856 Final textBounds updates. 2015-07-07 15:16:23 +01:00
Richard Davey
92f2742a26 When reusing a Tween created with an array of properties the values would get exponentially added to the TweenData internal array each time the tween was re-run (thanks @SBCGames #1747) 2015-07-07 04:21:55 +01:00
Richard Davey
6a9fd4de8d Debug.currentAlpha wasn't being used to set the alpha of the Debug context at all (was always set to 1) but now updates the alpha of the Debug context before anything is rendered to it (thanks @wayfu #1888) 2015-07-07 03:32:11 +01:00
Richard Davey
06658fa1e0 TilemapLayer.resize allows you to resize a TilemapLayer. It will update the internal canvas object and corresponding texture dimensions (#1881) 2015-07-07 03:27:28 +01:00
Richard Davey
8aaa8de985 Fixed issue with tilesets not updating correctly. 2015-07-07 02:38:14 +01:00
Richard Davey
a1f618f54f Debugging tileset issue. 2015-07-07 02:18:53 +01:00
Richard Davey
f57d3c19e9 P2.Body.createGroupCallback incorrectly referenced the _groupCallbackContext when deleting it (thanks @Langerz82 #1886) 2015-07-07 01:24:26 +01:00
Standard Gaussian
a556dfdc69 Issue #1885: P2.enableBody now checks if an anchor exists on target object before attempting to set its value 2015-07-05 22:39:15 +01:00
photonstorm
8919e4e128 Trying out resize method. 2015-07-02 17:19:57 +01:00
photonstorm
ab092c5c14 Keyboard.addKeys is a practical way to create an object containing user selected hotkeys. For example: addKeys( [Phaser.Keyboard.W, Phaser.Keyboard.S, Phaser.Keyboard.A, Phaser.Keyboard.D], [ 'up', 'down', 'left', 'right' ] ); would return an object containing the properties up, down, left and right that you could poll just like a Phaser.Key object. (thanks @Mourtz #1857) 2015-07-02 14:15:06 +01:00
Richard Davey
755a247e31 Merge pull request #1857 from Mourtz/master
Implemented Keyboard.AddKeys function.
2015-07-02 13:54:18 +01:00
photonstorm
698167a596 Tiled Image Collection support is now available and has been added to the TilemapParser and Tilemap classes (thanks @asyed94 #1879) 2015-07-02 13:53:02 +01:00
Richard Davey
1f76340563 Merge pull request #1879 from asyed94/dev
Implemented Tiled Image Collection support.
2015-07-02 13:43:06 +01:00
photonstorm
a89d48b9a6 Text.autoRound allows you to control if the text is allowed to render at sub-pixel coordinates or not. Set to true to round the coordinates, often eliminating anti-aliasing from certain font types (#1867) 2015-07-02 13:39:59 +01:00
photonstorm
ce405acb02 jsdoc update #1864 2015-07-02 13:31:26 +01:00
photonstorm
29f9eeabc6 RenderTexture now takes the display objects alpha into consideration when rendering it, before it would always reset worldAlpha to 1 before rendering, thus ignoring any alpha that may be set. 2015-07-02 13:28:44 +01:00
Richard Davey
2b7666e22d Added toString to the constructor parameter. 2015-07-01 23:37:48 +01:00
asyed94
6771c656e9 Removed trailing whitespace. 2015-06-29 16:32:16 -05:00
asyed94
8fefabcf59 Implemented Tiled Image Collection support.
Created class ImageCollection.js to internally handle Image Collection
data.

Added imagecollections member to Tilemap.js to access parsed Image
Collection data.

Added ability to parse Image Collections from Tiled json data to
TilemapParser.js
2015-06-27 15:30:26 -05:00
photonstorm
8356aacaa8 Trying out new Text pivot and mute handling. 2015-06-24 19:57:40 +01:00
photonstorm
1ed33cb06c Setting mute to false on Sound that was never muted caused its volume to be set to zero (thanks @brianbunch #1870) 2015-06-24 15:54:25 +01:00
Richard Davey
5f2b2df3d4 Yuma :) 2015-06-22 00:31:54 +01:00
photonstorm
a69c156526 The Text Bounds is a rectangular region that allows you to align your text within it, regardless of the number of lines of text or position within the world. For example in an 800x600 sized game if you set the textBounds to be 0,0,800,600 and text alignment to 'left' and vertical alignment to 'bottom' then the text will render in the bottom-right hand corner of the game, regardless of the size of font you're using or the number of lines in the text itself.
Set the Style properties `boundsAlignH` and `boundsAlignV` or adjust them via the Text setters to change the alignment.

It works by calculating the final position based on the Text.canvas size, which is modified as the text is updated. Some fonts have additional padding around them which you can mitigate by tweaking the Text.padding property.

Setting a textBounds _doesn't_ update the wordWrapWidth, so be aware of the relationship between the two.

Call this method with nothing defined for any of the parameters to reset an existing textBounds.

#1824
2015-06-17 17:18:04 +01:00
photonstorm
0258245f12 Phaser.Text no longer extends PIXI.Text but replaces it entirely. Phaser.Text now natively extends a Phaser Sprite, meaning it can be enabled for physics, damaged, etc. 2015-06-17 13:21:28 +01:00
photonstorm
102c74e121 Deprecated the following:
* Camera.screenView
* ScaleManager.maxIterations
* ScaleManager.enterPortrait (see onOrientationChange)
* ScaleManager.enterLandscape (see onOrientationChange)
* ScaleManager.enterFullScreen (see onFullScreenChange)
* ScaleManager.leaveFullScreen (see onFullScreenChange)
* ScaleManager.fullScreenFailed (see onFullScreenError)
* ScaleManager.checkResize
* ScaleManager.checkOrientation
* ScaleManager.setScreenSize (see updateLayout)
* ScaleManager.setSize (see reflowCanvas)
* ScaleManager.checkOrientationState (see reflowCanvas)
* ScaleManager.orientation (see screenOrientation)
* Gamepad.disabled (see enabled)
* Input.currentPointers (see totalActivePointers)
* Input.disabled (see enabled)
* Keyboard.disabled (see enabled)
* Mouse.disabled (see enabled)
* Mouse.mouseMoveCallback (see Input.addMoveCallback)
* MSPointer.disabled (see enabled)
* Touch.disabled (see enabled)
* Cache.getUrl (see getURL)
* Math.truncate (see Math.trunc)
* Math.snapToInArray (see Phaser.ArrayUtils.findClosest)
* Math.interpolateFloat (see Math.linear)
* Math.normalizeLatitude (use Phaser.Math.clamp(lat, -90, 90))
* Math.normalizeLongitude (use Phaser.Math.wrap(lng, -180, 180))
* Math.chanceRoll (use Phaser.Utils.chanceRoll)
* Math.numberArray (use Phaser.ArrayUtils.numberArray)
* Math.numberArrayStep (use Phaser.ArrayUtils.numberArrayStep)
* Math.limitValue (use Phaser.Math.clamp)
* Math.randomSign (use Phaser.Utils.randomChoice(-1, 1))
* Math.angleLimit (use Phaser.Math.clamp)
* Math.getRandom (use Phaser.ArrayUtils.getRandomItem)
* Math.removeRandom (use Phaser.ArrayUtils.removeRandomItem)
* Math.floor (use Math.trunc)
* Math.ceil (use Phaser.Math.roundAwayFromZero)
* Math.shift (use Phaser.ArrayUtils.rotate)
* Math.shuffleArray (use Phaser.ArrayUtils.shuffle)
* Math.distanceRounded (do the rounding locally)
* Canvas.getOffset (see Phaser.DOM.getOffset)
* Canvas.getAspectRatio (see Phaser.DOM.getAspectRatio)
* TilemapLayer.tileColor (use TilemapLayer.debugSettings.missingImageFill)
* Phaser.ArrayList alias removed, now use Phaser.ArraySet
* Utils.transposeArray (see Phaser.ArrayUtils.transposeMatrix)
* Utils.rotateArray (see Phaser.ArrayUtils.rotateMatrix)
* Utils.shuffle (see Phaser.ArrayUtils.shuffle)
2015-06-17 03:14:31 +01:00
photonstorm
8cf28fede7 maxHealth is a new property that Game Objects with the Health component receive and works in combination with the heal method to ensure a health limit cap. 2015-06-17 02:00:04 +01:00
photonstorm
b725c25702 Button game objects now have Input.useHandCursor set to true by default. 2015-06-17 01:55:36 +01:00
Richard Davey
0b82a68717 Merge pull request #1794 from stephandesouza/patch-1
Add a Heal Method to Phaser.Components.Health
2015-06-17 01:54:14 +01:00
Richard Davey
a7a74550a5 Merge pull request #1837 from Feenposhleen/dev
JSON support for BitmapFont atlases
2015-06-17 01:49:23 +01:00
Richard Davey
560f98b40b Merge pull request #1828 from luckylooke/patch-2
docs: parameter description augmented
2015-06-17 01:41:25 +01:00
Richard Davey
306fbf4d5c Merge pull request #1810 from Preece/tilemap-overlap
Sprite vs Tilemap can now check for overlap, without trying to separate
2015-06-17 01:38:42 +01:00
Richard Davey
88524cd1ce Merge pull request #1851 from rblopes/detect-nwjs-electro
Changes for nw.js-like environment detection code
2015-06-17 01:35:16 +01:00
photonstorm
40802314dd TileSprite now fully supports animation again, having been broken for several versions due to a Pixi upgrade. We've updated the way TileSprites generate their textures internally considerably and animation support is back across both Canvas and WebGL as a result (#1653) 2015-06-17 01:25:56 +01:00
photonstorm
04a25c5d9b Small fix + jsdoc update. 2015-06-17 01:04:55 +01:00
Richard Davey
14733e9b90 Tilemap.addTilesetImage can now accept a BitmapData as the key parameter and will use the BitmapData to render the tileset with instead of an image from the cache (thanks to @unstoppablecarl for the idea #1838) 2015-06-16 23:17:46 +01:00
photonstorm
30a35227da Formatting update. 2015-06-16 20:38:18 +01:00
photonstorm
71cf2064ab Fixed TS defs and jsdoc for Ninja convertTilemap #1756 2015-06-16 19:10:01 +01:00
photonstorm
17831e0103 P2.Body.loadPolygon now allows the key parameter to be passed as null - when this happens the object parameter can be the actual physics object data instead of a string pointing to the cache, allowing you to take advantage of adding multiple convex shapes with automatic adjustments for center of mass #1801 2015-06-16 19:02:28 +01:00
photonstorm
cf83f51315 Added textureDebug boolean - allows you to visually debug the generated texture a TilingSprite creates. 2015-06-16 18:31:39 +01:00
photonstorm
58f4b07741 Clarified relationship between Sprite and BodyDebug #1795 2015-06-16 18:30:54 +01:00
photonstorm
b481402ae4 Due to a Pixi 2 issue TileSprite when running under WebGL didn't respect the world alpha setting and would only work with its own alpha (thanks @hanenbro #1774) 2015-06-16 17:03:19 +01:00
Richard Davey
8a750a1f1e Merge pull request #1777 from boniatillo-com/assetpack_audiosprite
Load audiosprite from asset pack
2015-06-16 16:43:06 +01:00
photonstorm
89c11b9d48 TilemapLayer swapped to use full Phaser.Sprite to allow for input events, bringToTop, etc. 2015-06-16 16:40:45 +01:00
photonstorm
1990bce48b Sound.restart and Sound.stop now properly disconnect the sound from the gainNode (or external node) before stopping it, allowing restart to work correctly (thanks @eofs #1796) 2015-06-16 16:24:47 +01:00
photonstorm
00cf44eb22 If running under Cordova and iOS the Game.lockRender boolean will be set to true when the game pauses and false when it resumes. This avoids the gpus_ReturnNotPermittedKillClient app crash on iOS (thanks @cncolder #1800) 2015-06-16 14:54:42 +01:00
photonstorm
ab8c98676e Sound.resume wouldn't properly restart looped sounds in Chrome after being paused. Phaser now specifically handles the Chrome 42 bug and later fix (thanks @nkovacs #1820) 2015-06-16 14:28:46 +01:00
photonstorm
c518fa32b7 Formatting. 2015-06-16 14:16:04 +01:00
photonstorm
c0c3fef420 jsdocs update. 2015-06-16 14:16:04 +01:00
photonstorm
f5369628ce Device.chromeVersion will return the major version number of Chrome. 2015-06-16 14:16:04 +01:00
photonstorm
d931cedb69 Fixed issue with long text dropping to be shorter again. 2015-06-16 12:45:26 +01:00
photonstorm
697a3f4f18 jsdoc tweak. 2015-06-16 11:57:28 +01:00
Alex Mourtziapis
7252666e9a fixed minor jshint warnings. 2015-06-15 04:35:06 +03:00
Alex Mourtziapis
9d16e3e9a0 Update Keyboard.js 2015-06-15 04:33:40 +03:00
Alex Mourtziapis
4cc3777d36 Fixed some Travis CI errors. 2015-06-15 00:41:37 +03:00
Alex Mourtziapis
565d8e6e4a Implemented Keyboard.AddKeys function. 2015-06-14 23:35:38 +03:00
photonstorm
732b80813e Line.rotate allows you to rotate a line by the given amount around its center point. 2015-06-13 05:20:43 +01:00
photonstorm
5f9bff0e8b Clarified the documentation for Point.rotate and fixed all the examples. 2015-06-13 05:02:07 +01:00
photonstorm
9e78cd1d7a Rectangle.random will return a uniformly distributed random point from anywhere within the rectangle. 2015-06-13 04:18:50 +01:00
photonstorm
77e7b2af9b Ellipse.random will return a uniformly distributed random point from anywhere within the ellipse. 2015-06-13 03:46:20 +01:00
photonstorm
3daea179fb Line.random will return a random point from anywhere on the Line segment. 2015-06-13 03:04:02 +01:00
photonstorm
70cf7a32bc Fixed jshint errors. 2015-06-13 02:31:21 +01:00
photonstorm
8de9e0c076 Fixed loadEvent argument. 2015-06-13 02:30:00 +01:00
photonstorm
f216313582 jsdoc and debug removal. 2015-06-12 19:21:06 +01:00
photonstorm
fa469b85e1 Added GameObjectFactory.video url parameter. 2015-06-12 19:20:50 +01:00
photonstorm
7d308a2169 Added loadEvent parameter to Loader.video. 2015-06-12 19:19:43 +01:00
Rafael Barbosa Lopes
b64d817913 Refactoring the boolean expressions. 2015-06-12 15:17:26 -03:00
photonstorm
9212c01dae Returns a random point from anywhere within this circle. 2015-06-12 19:15:56 +01:00
Rafael Barbosa Lopes
3f5691ecdd Add detection for GitHub Electron. 2015-06-12 15:08:54 -03:00
Rafael Barbosa Lopes
bf9d516ef4 Simplify detection of nw.js (formerly Node-WebKit). 2015-06-12 15:06:22 -03:00
photonstorm
af42f5d4c9 Cache.getJSON has a new parameter: clone. If set it will return a clone of the object stored in the Cache rather than a reference to it. 2015-06-12 12:16:58 +01:00
photonstorm
0b6bf3f52f Extended getUserMedia check. 2015-06-11 06:01:40 +01:00
photonstorm
681d8679e7 Rectangle.resize allows you to resize a Rectangle to the new given dimensions without altering its position. 2015-06-11 06:01:29 +01:00
photonstorm
10a3df1ef5 Set the Video baseTexture to __default until the stream starts. 2015-06-10 14:21:58 +01:00
photonstorm
5458097006 Renamed createVideoStream to startMediaStream.
Refactored Video constructor significantly - you can no longer create a webcam stream from the constructor, as it doesn't give you time to respond to onAccess and onError signals in Firefox. Instead call startMediaStream directly having set-up your signal listeners first.

startMediaStream now has a chance to dispatch the onError signal if the webcam has been blocked entirely by the browser (auto-block or remembered block). autoPlay attribute removed to stop Firefox throwing a "Invalid URI. Load of media resource failed" error.

Tidied up Video.destroy to properly remove video element from the DOM.
2015-06-10 00:59:24 +01:00
photonstorm
1c1a2ac195 Volume should default to 1 if undefined OR null (as from an Audio Sprite) 2015-06-09 20:55:20 +01:00
photonstorm
5c6eab86c0 Swapped to the shorter 'between' method. 2015-06-09 20:54:52 +01:00
nextht
6f5d4b93b8 Fix mask combine filter bug
In the demo (code below), i create a group with a rect mask, and create a sprite as child with a blurXY filter, then nothing is displayed. 
So i hack WebGLFilterManager's pushFilter and popFilter method, in pushFilter method i create a new stencilManager instance and cache the old one, in popFilter i destroy the new stencilManager and restore the old one, then this workaround works rightly as i expect.

I think this is bug for PIXI, so i hope @GoodBoyDigital and @photonstorm can help me to check whether this fixing is right or not, thanks.
 
		var game = new Phaser.Game(800, 600, Phaser.WEBGL, 'phaser-example', { preload: preload, create: create });

		function preload() {

			game.load.image('phaser', 'assets/sprites/phaser2.png');
			game.load.script('filterX', '../filters/BlurX.js');
			game.load.script('filterY', '../filters/BlurY.js');

		}

		function create() {

			var logo = game.add.sprite(game.world.centerX, game.world.centerY, 'phaser');
			logo.anchor.setTo(0.5, 0.5);

			var blurX = game.add.filter('BlurX');
			var blurY = game.add.filter('BlurY');

			logo.filters = [blurX, blurY];
			var group = game.add.group();
				group.addChild(logo);
				group.mask = game.add.graphics();
				group.mask.beginFill(0xff);
				group.mask.drawRect(0,0,500,500);
		}
2015-06-08 20:43:20 +08:00
Charlo
70428fd39c Fixed linting errors 2015-06-06 12:54:14 +02:00
Charlo
17a8116382 Added JSON support for BitmapFont 2015-06-06 12:35:08 +02:00
photonstorm
2b0abb67dd onDragUpdate is a new signal that is dispatched whenever a Game object enabled for input and drag is moved by a pointer (i.e. during a drag event). See the Phaser.InputHandler.enableDrag docs for parameter details and the new Phaser Example. 2015-06-04 20:58:00 +01:00
Richard Davey
660ab8510c Merge pull request #1833 from danxexe/fix-drawcircle-docstring
Fix docstring of drawCircle
2015-06-04 04:23:45 +01:00
DanX
860d2e9538 Fix docstring of drawCircle 2015-06-03 13:41:42 -03:00
photonstorm
a971928bbc jshint fixes. 2015-06-03 13:22:29 +01:00
photonstorm
52b1b499a8 Removed un-needed Pixi file. 2015-06-03 05:28:24 +01:00
photonstorm
560fed484f Added BitmapText.purgeGlyphs method. 2015-06-03 05:28:24 +01:00
photonstorm
03a7b6a708 Updated Destroy component to deal with BitmapText glyphs pool. 2015-06-03 05:28:24 +01:00
photonstorm
5e265bbe86 Re-ordered carriage-return detection. 2015-06-03 05:28:24 +01:00
photonstorm
90d08fbf24 Updated jsdocs and added align parameter to method call. 2015-06-03 05:28:24 +01:00
photonstorm
fa7259fd75 Removed debug calls. 2015-06-03 05:28:24 +01:00
photonstorm
01de0de7ac Added BitmapText global. 2015-06-03 05:28:24 +01:00
photonstorm
2484ced06d Typo. 2015-06-03 05:28:24 +01:00
photonstorm
cf5238c749 Removed use of PIXI.BitmapText entirely. Moved all update and support functions to Phaser. 2015-06-03 05:28:23 +01:00
photonstorm
ed82097151 Removed un-necessary PIXI.TextureCache pollution in Phaser.LoaderParser.bitmapFont. 2015-06-03 05:28:23 +01:00
photonstorm
17648b74db Complete refactoring of PIXI.updateText - now properly respects the maxWidth setting regardless of kerning or font scale. 2015-06-03 05:28:23 +01:00
photonstorm
76e2b00c82 Fixed pad jsdoc and ts defs (#1823) 2015-06-02 19:53:30 +01:00
luckylooke
ee22bbbd05 docs: parameter description augmented
addTilemap 'url' parameter text augmented
2015-05-31 13:21:33 +02:00
photonstorm
cc5740af10 BitmapText line spacing and word wrapping has been vastly improved and bought in-line with how Pixi 3 handles it, but with additional anchor support. 2015-05-31 01:31:11 +01:00
Richard Davey
86f155da80 Merge pull request #1804 from asyncanup/patch-1
Fixed spelling error in 'rotation'
2015-05-30 20:02:09 +01:00
photonstorm
1438248388 Group.add and Group.addAt will only create a Physics Body on the child if it doesn't already have one. This is a change from 2.3 where it would replace the physics body property with the new body, but this could lead to garbage build-up over time, so you should now properly destroy the body before changing it. 2015-05-29 00:59:23 +01:00
photonstorm
5ef9b0a5e6 TilemapParser.parseTiledJSON would ignore 'falsey' properties set on Objects in Tiled JSON tilemaps, such as x: 0 or visible: false. These properties are now accurately copied over to the destination map data (thanks @MaksJS #1818) 2015-05-27 18:07:33 +01:00
photonstorm
fcb2dc8306 Added snapPoint value (currently unused) 2015-05-26 20:01:57 +01:00
photonstorm
bdcb15fcde Tween.to and Tween.from can now accept null as the ease parameter value. If null it will use the default tween, as per the documentation (thanks @nkovacs #1817) 2015-05-26 20:01:57 +01:00
Casey Clyde
e935df328d Sprite vs Tilemap can now check for overlap, without trying to separate 2015-05-23 22:39:12 -07:00
photonstorm
621e51d949 Docs update about the lovely 48000 Hz music bug. 2015-05-23 03:37:04 +01:00
photonstorm
18ae9268aa Scope fix. 2015-05-22 15:14:49 +01:00
photonstorm
c2f7520c7a StateManager.onStateChange is a new signal which is dispatched whenever the State changes from one to another. The callback you specify is sent two parameters: the string based key of the new state, and the second parameter is the string based key of the old / previous state. 2015-05-22 15:10:20 +01:00
photonstorm
5054344668 The LoadTexture component has a new property: customRender which is checked for in the Core postUpdate to know when to render custom elements like Videos. 2015-05-21 15:24:39 +01:00
photonstorm
312c31b778 jsdoc and formatting fixes. 2015-05-21 11:53:18 +01:00
luckylooke
1939efd1c1 Copypaste typo
`Point.setTo(2, 2)` to `Point.set(2, 2)`
2015-05-20 14:21:35 +02:00
Anup Bishnoi
ac92e3c58e Fixed spelling error in 'rotation' 2015-05-19 22:48:03 -04:00
photonstorm
5a91f85b1f Typo. 2015-05-19 16:57:36 +01:00
Richard Davey
4431e72711 Merge pull request #1770 from jeremyosborne/distsq
Fix for #1761: [Feature Request] Add Math.distanceSq().
2015-05-19 16:14:57 +01:00
Richard Davey
8db0bfa377 Merge pull request #1785 from rblopes/fix-1782
Assign the default value of 60 FPS to the optional `frameRate` parameter, when ommited.
2015-05-19 15:04:45 +01:00
photonstorm
1e2940a6a4 PIXI.Graphics was calling Polygon.flatten in its drawShape call, causing the original Polygon object to internally change. It now takes a clone of the polygon and only flattens that (#1779) 2015-05-19 14:53:32 +01:00
photonstorm
d2bcb3562b If transformUrl is given an invalid URL it returns false. 2015-05-19 14:19:24 +01:00
photonstorm
734fbfea9e The mp4Video check includes h264 now. 2015-05-19 14:18:57 +01:00
photonstorm
0f6dd1a1a6 Device.firefoxVersion is a new property that contains the major Firefox version number if running within Firefox, otherwise zero. 2015-05-18 14:51:25 +01:00
photonstorm
7c9db8f632 jshint fixes. 2015-05-18 13:36:22 +01:00
photonstorm
2c775cf03d FrameData.getFrameIndexes when called with a partial array (such as creating an animation out of a set of frames) would return the indexes array padded out with 'undefined' entries, causing short animations to never fully play through. 2015-05-18 12:55:48 +01:00
photonstorm
2e6af02f86 AnimationManager.add no longer sets the currentFrame property when just adding an Animation to a Sprite. The currentFrame property is now only set when the animation begins playing. This avoids the Sprite.frame and Sprite.frameName properties from returning incorrect results after adding (but not playing) an Animation. It also allows very short animations (2 frames) to play correctly without needing to loop. 2015-05-18 12:55:48 +01:00
Gionatan Iasio
1bbb3bb903 Fix Rope.js
Rope creation key parameter didn't work, because PIXI.Rope requires a texture, not string.
Changed it like Sprite.
2015-05-16 19:59:12 +02:00
photonstorm
f78a4cb337 jshint fixes. 2015-05-15 01:35:20 +01:00
photonstorm
f725ac48ae Removed all the debug information. 2015-05-15 01:27:42 +01:00
photonstorm
f2e2039009 Invalidate the texture while we wait for the new one to load (crashes IE11 otherwise) 2015-05-15 01:17:44 +01:00
photonstorm
ce27da362b Stacks of fixes to the video stream support to get it working in Firefox. 2015-05-14 23:23:38 +01:00
photonstorm
4fa99f52c5 jsdocs fix and video loader fallback for Firefox. 2015-05-14 23:23:22 +01:00
photonstorm
4cd374691a Wrapped the decodeAudio in a try/catch. 2015-05-14 23:21:19 +01:00
photonstorm
b91387c9a6 Extended the getUserMedia and window.URL check. 2015-05-14 23:20:52 +01:00
photonstorm
aabeccbdac Working but needs refining. 2015-05-14 19:10:36 +01:00
photonstorm
63887faffe Loads of changes to deal with invalid textures and videos pending playback (i.e. Firefox) 2015-05-14 16:52:09 +01:00
photonstorm
71b242386d Added video loadeddata callback for Firefox (which doesn't throw the canplay event until you actually start to play the video.. awesome, thanks Firefox) 2015-05-14 16:52:09 +01:00
photonstorm
ad4cf34d05 LoadTexture remembers texture valid state. 2015-05-14 16:52:09 +01:00
photonstorm
6c3d0833a3 Made silent texture fail the default. 2015-05-14 16:52:08 +01:00
Stephan de Souza
cb89b9c293 Missed comma 2015-05-14 10:04:37 -03:00
Stephan de Souza
7fb555e70e Adds Heal Method to Phaser.Components.Health
Ideal when used in games with health packs, bonus items, or healing sprites.

In fact: Doing a negative damage causes the same effect, but as a new method is better for documentation.
2015-05-13 16:55:17 -03:00
Richard Davey
8aecb49d48 Merge pull request #1792 from formigone/dev-return-strict-bool
Return actual boolean value instead of 1
2015-05-13 10:59:13 +01:00
Rodrigo Silveira
ce7bcb2243 Return actual boolean value instead of 1
This is particularly helpful when doing === comparisons. Now isOdd is
  consistent with isEven, which returns actual boolean values as well.
2015-05-13 05:59:34 -03:00
photonstorm
23f2a7ca66 Removed 'scale' from Group as it comes from PIXI anyway. 2015-05-12 13:03:27 +01:00
photonstorm
7c123b5203 Add guards around scaleSprite. 2015-05-12 13:03:26 +01:00
photonstorm
e6f71e959a Graphics constructor now sets x/y parameters to zero if undefined. Before it would set them to undefined as the type check wasn't strict. 2015-05-12 13:03:26 +01:00
photonstorm
4aa22e22a1 Check texture property. 2015-05-12 13:03:26 +01:00
photonstorm
7b938f396e Rectangle.bottomLeft has been added (thanks @mattmogford #1788) 2015-05-12 13:03:26 +01:00
Rafael Barbosa Lopes
0a9ca57a8f Cleaning some white space. 2015-05-08 21:42:29 -03:00
Rafael Barbosa Lopes
29b22972ca Proper code formatting. 2015-05-08 21:35:35 -03:00
Rafael Barbosa Lopes
d19411e069 Assign the default value of 60 FPS to the optional frameRate parameter, when ommited.
This patch tries to prevent an issue in the tween timeline data generation
where an `undefined` value causes an unhandled type coercion when the program
calculate how many frames will be generated for a given `TweenData` timeline.
2015-05-08 19:39:13 -03:00
photonstorm
9b95026cc9 Removed ConvertTintToImage as the Image object it created was never returned or used anywhere, so pointless having.
Optimised the canvas creation - before it was creating a new canvas every time it tinted a sprite.
Removed un-used tint method (tint with overlay)
Optimised tintWithMultiply.
2015-05-08 04:14:56 +01:00
photonstorm
8e6f9574ea Heavily tweaked tint texture handling. Can now be set by a texture and cached internally. 2015-05-08 04:13:34 +01:00
photonstorm
a1102d4d4d Added re-tint reset. 2015-05-08 04:12:20 +01:00
photonstorm
2cd59bbf32 Tidying up docs and formatting. 2015-05-08 04:12:07 +01:00
photonstorm
6f351ff0c1 Texture.requiresReTint is a new property that controls if a texture requires the display object to be re-tinted having been updated internally. The LoadTexture component now sets this. 2015-05-08 04:11:48 +01:00
photonstorm
164039d7e7 Sets the re-tint state to true.
Removed un-needed clear call.
2015-05-08 04:10:39 +01:00
photonstorm
326cb759cf Docs fixes. 2015-05-08 02:28:46 +01:00
photonstorm
9cb7122743 Improved code formatting. 2015-05-08 01:51:06 +01:00
photonstorm
855831e4c2 BitmapData.update now validates the width and height values to ensure they aren't lower than 1, which would previously cause a context error. 2015-05-08 01:49:59 +01:00
photonstorm
d2b9bfe7b8 RetroFont has been updated to use RenderTexture.renderXY, removing the need for creating a Point object each update.
RetroFont no longer puts any entries into the TextureCache or generates any UUIDs on instantiation, speeding up creation and lowering memory use.
2015-05-08 01:49:11 +01:00
photonstorm
e3b8fe3401 Proper setFrame call. 2015-05-07 02:45:33 +01:00
photonstorm
67704d0136 Updated Frame handling for Videos so sprites have their own frames, not a reference to the Videos frame. 2015-05-07 02:44:48 +01:00
photonstorm
12362a8300 Mark new textures as valid. 2015-05-07 02:44:29 +01:00
photonstorm
af66b49f31 If a BitmapData is created with a width or height set to zero then the width and/or height are set to a default value (256) instead to avoid getContext errors. 2015-05-06 16:50:10 +01:00
photonstorm
303929a3ce Added Video.snapshot and Video.grab support. 2015-05-06 16:47:46 +01:00
photonstorm
7cd89eedd6 jshint fixes. 2015-05-06 08:13:55 +01:00
photonstorm
7f89a3de60 Fixed video event. 2015-05-06 07:57:52 +01:00
photonstorm
d14d9f4f64 Added onAccess and onError signals and tidied up the stream handling. 2015-05-06 07:25:34 +01:00
photonstorm
a24a22742a Enabled Stream stopping. 2015-05-06 06:11:09 +01:00
photonstorm
37304c7cc7 Added Video.createVideoStream support. 2015-05-06 06:06:02 +01:00
photonstorm
399cf3f804 jshint fix. 2015-05-06 02:02:49 +01:00
photonstorm
7674060afc Removed PIXI.EventListener and VideoTexture as it's no longer required. 2015-05-06 01:59:49 +01:00
photonstorm
535b56bc4a Got changeSource working properly on iOS and tidied up lots of docs. 2015-05-06 01:12:02 +01:00
photonstorm
927c14536d Destroy will remove the listener from Video.onChangeSource. 2015-05-06 00:42:01 +01:00
photonstorm
bf25e67f5a LoadTexture.resizeFrame lets you resize the Frame dimensions that the Game Object uses for rendering. You shouldn't normally need to ever call this, but in the case of special texture types such as Video or BitmapData it can be useful to adjust the dimensions directly in this way. 2015-05-06 00:41:40 +01:00
photonstorm
ed3e7cdf8c Frame.resize allows you to change the dimensions of a Frame object and recalculate all of its internal properties (such as bottom and distance). 2015-05-06 00:37:50 +01:00
photonstorm
9a563f20b9 Updated video locked status. 2015-05-05 17:03:39 +01:00
photonstorm
5278c16acc Swapped to using touchlock object. 2015-05-05 17:03:27 +01:00
photonstorm
4a91d97812 Input.addMoveCallback used to return the index of the callback entry in the internal moveCallbacks array. However as callbacks were removed the indexes became invalid, potentially causing a future Input.deleteMoveCallback to remove the wrong callback entirely or error. Input.deleteMoveCallback now takes the original callback and context as its parameters to ensure deletion safety. 2015-05-05 16:53:02 +01:00
photonstorm
0cde8f874d Mobile touch lock support done. 2015-05-05 16:25:51 +01:00
photonstorm
45278a1816 Tidied up the video loader. 2015-05-05 16:25:30 +01:00
photonstorm
766b110f99 SoundManager now uses the new Touch.addTouchLockCallback methods to handle mobile device audio unlocking. 2015-05-05 16:25:16 +01:00
photonstorm
f265f98eb4 Input.Touch.addTouchLockCallback allows you to add a callback that will be invoked automatically upon a touchstart event. This is used internally by the SoundManager and Video objects to handle mobile device unlocking, but is exposed publicly as well. 2015-05-05 16:24:49 +01:00
photonstorm
f032578f27 Removed Input.moveCallback and Input.moveCallbackContext as neither are used any longer. Use Input.addMoveCallback. 2015-05-05 16:09:22 +01:00
photonstorm
df6dc70a41 Various VideoTexture tests (this file will be removed shortly however). 2015-05-05 14:02:38 +01:00
photonstorm
cc1c90d782 Removed videoSprite placeholder. 2015-05-05 14:01:47 +01:00
photonstorm
2e2d1c6bc2 Lots of updates to the Phaser.Video object. 2015-05-05 14:00:59 +01:00
photonstorm
7178ff61c7 jsdoc fixes. 2015-05-05 14:00:29 +01:00
photonstorm
f33082caf2 Support for Video texture updates. 2015-05-05 14:00:18 +01:00
photonstorm
d8c109b0a2 Tidying comments. 2015-05-05 14:00:05 +01:00
photonstorm
d98b984ad2 SoundManager.volume now has its input value clamped to ensure it's between 0 and 1 (inclusive) 2015-05-05 11:04:14 +01:00
photonstorm
36c7084e01 Adjusting property order. 2015-05-05 10:59:54 +01:00
photonstorm
adad60f8f4 SoundManager.onVolumeChange is a new signal that is dispatched whenever the global volume changes. The new volume is passed as the only parameter to your callback.
SoundManager.onMute is a new signal that is dispatched when the SoundManager is globally muted, either directly via game code or as a result of the game pausing.

SoundManager.onUnMute is a new signal that is dispatched when the SoundManager is globally un-muted, either directly via game code or as a result of the game resuming from a pause.
2015-05-05 10:58:43 +01:00
photonstorm
1a7450e126 Added blend modes to Color class for testing. 2015-05-04 03:01:09 +01:00
photonstorm
90a7a3e15c Create video + added Video to config. 2015-05-04 03:00:45 +01:00
photonstorm
8a9e0c266a Added currentTime and duration getters. 2015-05-04 03:00:22 +01:00
photonstorm
afb162849a Docs update. 2015-05-04 03:00:03 +01:00
photonstorm
c1ab5a3345 The first pass at the new Phaser.Video object. 2015-05-03 13:53:03 +01:00
photonstorm
f092101531 Added in support for Phaser.Video to LoadTexture component. 2015-05-03 13:53:03 +01:00
photonstorm
9ee0de9192 Cache.addVideo allows you to add a loaded video into the Phaser Cache. This is called automatically by the Phaser Loader, but may be invoked directly as well.
Cache.checkVideoKey allows you to check if a video is stored in the cache based on the given key.

Cache.getVideo allows you to extract a video from the Cache based on its key. The video element itself (or the Blob is loaded with asBlob true) will be found in the `data` property of the returned object.

Cache.removeVideo will remove a video from the Cache based on the given key.
2015-05-03 13:53:03 +01:00
photonstorm
77468e7876 Loader.video allows you to load a video file into Phaser. It works in the same way as Loader.audio, allowing you to pass an array of video files - and it will load the first one the device is capable of playing back. You can optionally load the video via xhr where the video data is converted to a Blob upon successful load. 2015-05-03 13:53:03 +01:00
photonstorm
a686f6e212 PIXI.DisplayObject.worldPosition contains the position of the DisplayObject (and therefore any object that inherits from it, such as Phaser.Sprite) taking into account all transforms in the display list. It is updated at the end of DisplayObject.updateTransform. DisplayObject.position reflects only the position applied to the object directly, whereas worldPosition includes the positions that may have been applied to its ancestors.
PIXI.DisplayObject.worldScale contains the scale of the DisplayObject (and therefore any object that inherits from it, such as Phaser.Sprite) taking into account all transforms in the display list. It is updated at the end of `DisplayObject.updateTransform`. DisplayObject.scale reflects only the scale applied to the object directly, whereas worldScale includes any scales that may have been applied to its ancestors.

PIXI.DisplayObject.worldRotation contains the rotation of the DisplayObject (and therefore any object that inherits from it, such as Phaser.Sprite) taking into account all transforms in the display list. It is updated at the end of `DisplayObject.updateTransform`. DisplayObject.rotation reflects only the rotation applied to the object directly, whereas worldRotation includes any rotations that may have been applied to its ancestors.
2015-05-03 13:53:03 +01:00
photonstorm
f0ac93ea62 Device.oggVideo indicates if the browser can play back ogg video files.
Device.h264Video indicates if the browser can play back H264 (mp4) video files.
Device.mp4Video indicates if the browser can play back H264 (mp4) video files.
Device.webmVideo indicates if the browser can play back webm video files with the vp8 codec.
Device.vp9Video indicates if the browser can play back webm video files with the vp9 codec.
Device.hlsVideo indicates if the browser can play back mpeg video files.
2015-05-03 13:53:02 +01:00
photonstorm
420272d589 Added Phaser.VIDEO object type const. 2015-05-03 13:53:02 +01:00
photonstorm
3578cd097c jsdocs fix. 2015-05-03 13:53:02 +01:00
photonstorm
df3c684760 PIXI.BaseTexture.forceLoaded allows you to set a BaseTexture as loaded, with the given width and height. It then calls BaseTexture.dirty. This is important for when you don't want to modify the shape of the source object by forcing in complete or dimension properties it may not naturally have, but still wish to use it as a base texture. 2015-05-03 13:53:02 +01:00
photonstorm
3f51463c7b PIXI.CanvasTinter.tintWithMultiply was performing a double drawImage operation for no reason. Simplified down to a single drawImage call. 2015-05-03 13:53:02 +01:00
Boniatillo.com
9017081ef6 Fix to #1776: load audiosprite from assetpack
The loader process the asset pack but use the method "audio" instead of
"audiosprite". The fix is to call "audiosprite" with the right
arguments.
2015-05-02 10:40:38 +02:00
Richard Davey
6a7006dec8 Merge pull request #1772 from soldoutactivist/dev
Stubbed Net and Debug so they can be properly excluded during a custom build.
2015-04-29 15:48:42 +01:00
photonstorm
e291f6d590 Added type parameter to VideoTexture.fromUrl allowing you to define the mime-type of the video file, which is required for Firefox and Safari in most cases. 2015-04-29 14:41:47 +01:00
Steven Rogers
105b08448d Converted tabs to spaces. 2015-04-29 09:21:02 -04:00
Steven Rogers
b39788c5b0 Reverted Game/Debug classes 2015-04-29 09:10:53 -04:00
Steven Rogers
258b549a0d Stubbed Net and Debug so they can be properly excluded during a custom build. 2015-04-29 09:07:06 -04:00
photonstorm
4c0e34e788 jsdoc fixes. 2015-04-29 13:13:47 +01:00
photonstorm
19f8a7316e ArcadePhysics.Body.syncBounds is a new property that if true forces the Body to check itself against the Sprite.getBounds() dimensions and adjust its width and height accordingly. If false it will compare its dimensions against the Sprite scale instead, and adjust its width height if the scale has changed. Typically you would need to enable syncBounds if your sprite is the child of a responsive display object such as a FlexLayer, or in any situation where the sprite scale doesn't change, but its parents scale is effecting the dimensions regardless. 2015-04-29 13:13:26 +01:00
photonstorm
da0bd86c26 Rectangle.ceil runs Math.ceil() on both the x and y values of the Rectangle.
Rectangle.ceilAll runs Math.ceil() on the x, y, width and height values of the Rectangle.
2015-04-29 13:13:11 +01:00
Jeremy Osborne
61f24f1719 Fix for #1761: [Feature Request] Add Math.distanceSq(). Also, first attempt at a pull request for Phaser. 2015-04-28 10:03:35 -07:00
photonstorm
8290e8c371 Text.setShadow has two new optional parameters: shadowStroke and shadowFill. These allow you to set if the drop shadow is applied to the Text stroke, the Text fill or both of them (thanks @qdrj #1766)
Text.shadowStroke and Text.shadowFill allow you to toggle if the drop shadow is applied to the Text stroke or fill independently.
2015-04-27 16:22:36 +01:00
photonstorm
d9434244a5 Removed array length vars. 2015-04-27 16:22:36 +01:00
photonstorm
c461c26393 Added onUpdate signal. 2015-04-27 16:22:36 +01:00
photonstorm
b645b277aa jsdoc fix. 2015-04-27 16:22:36 +01:00
photonstorm
8519c9e394 The Tween.onStart signal wasn't dispatched if the Tween had a delay set. It's now dispatched immediately if no delay, or after the delay if set. It also respects the autoStart parameter and will still dispatch even if autoStart is true. 2015-04-27 16:22:35 +01:00
photonstorm
5d680ce4d4 pause not stop. 2015-04-27 16:22:35 +01:00
photonstorm
c6e9d7cad3 Removing PIXI.TextureCache calls as no longer used. 2015-04-27 16:22:35 +01:00
photonstorm
214e8abcda Added play and stop methods and related signals. 2015-04-23 02:35:27 +01:00
photonstorm
30450cb9bc Loader.atlas and Cache.addTextureAtlas will now automatically determine the format of the JSON data (array or hash) when added to the Cache. You no longer need to specify it explicitly if JSON, only if XML. 2015-04-23 02:35:09 +01:00
Richard Davey
fa5ed16f7d Trying something out :) 2015-04-22 04:22:17 +01:00
Richard Davey
be65b08e3b Close to getting WebGL Tiling Sprites back again - animations now work too, but the placement isn't quite right. 2015-04-22 01:36:12 +01:00
photonstorm
aa9ea30e79 Working through fixing TilingSprites for WebGL. 2015-04-21 17:01:24 +01:00
photonstorm
05d0a94116 Phaser.AnimationParser methods JSONData, JSONDataHash and XMLData have all had their cacheKey parameter removed as it's no longer used. 2015-04-21 16:01:11 +01:00
photonstorm
04e7be38bf Heavily refactored. Vastly optimised generateTexture method. Canvas renderer now works correctly with animated sprites, texture atlases and trimmed sprites. Warning: Currently breaks WebGL rendering. Will fix soon. 2015-04-21 15:57:17 +01:00
photonstorm
cc46212d5b Refreshes a tiling texture on change of frame. 2015-04-21 15:55:58 +01:00
photonstorm
3d75902a67 Removed all calls to TilingTexture because it's now handled in the setFrame component. 2015-04-21 15:55:40 +01:00
photonstorm
ede76cf4f6 Frame.uuid has been removed (was flagged as deprecated for several releases). This has a two-fold effect: First it means that the property no longer exists and secondly it means that the AnimationParser (the class responsible for loading sprite sheets and texture atlases) no longer has to call either RandomDataGenerator.uuid OR populates the PIXI.TextureCache. The first saves some CPU time and the second saves memory by not creating references to textures it doesn't ever use. The PIXI.TextureCache is now ignored by Phaser other than for the __missing and __default textures. 2015-04-21 15:55:04 +01:00
photonstorm
a4963adec3 jsdoc clarification. 2015-04-21 15:54:44 +01:00
photonstorm
8fb5a89e1f Added video alias. 2015-04-21 05:11:31 +01:00
photonstorm
8981e9603e Removed Frame.uuid and updating TileSprite to work with animated sprites. 2015-04-21 05:11:19 +01:00
photonstorm
6c96568dd1 Files can now be added to the Loader with an absolute URL even if you have a Loader.baseURL set. In previous versions the baseURL would still be prepended to the file URL, but the Loader now checks if the a file URL begins with http or // and skips prepending the baseURL to it.
All calls to Loader methods that add files to the queue, such as `Loader.image` or `Loader.atlas`, now have the URL as an optional parameter. If not set Loader will assume the URL to be based on the key given. For example the following: `game.load.image("boom", "boom.png")` can now be expressed as just `game.load.image("boom")`, or `game.load.atlas("player", "player.png", "player.json")` can now be shortened to `game.load.atlas("player")`. Please see the freshly updated jsdocs for full details.
2015-04-21 02:14:41 +01:00
photonstorm
e6ab4884a6 Set usingWebAudio if using it :) 2015-04-21 02:07:47 +01:00
photonstorm
12f8454d62 close #1755 2015-04-19 01:35:15 +01:00
photonstorm
a5c14befa7 Formatting. 2015-04-17 19:56:14 +01:00
photonstorm
21de1e7c09 Added delayed load event handling back in. 2015-04-17 19:55:53 +01:00
photonstorm
97bc582f8d Added VideoTexture support back in and fixed various load related issues. 2015-04-17 19:55:30 +01:00
photonstorm
b196e4f17e Enabled PIXI.VideoTexture support. 2015-04-17 17:36:20 +01:00
photonstorm
714580f9a9 Manual fix #1752 2015-04-17 17:35:52 +01:00
photonstorm
8476a0b87f One ! too many #1746 2015-04-17 14:26:01 +01:00
photonstorm
59beae762d The SoundManager didn't accurately detect devices or browser environments with no sound card present and would try to carry on using a null Web Audio context (thanks @englercj #1746)
SoundManager.pauseAll, resumeAll and stopAll now checks if the SoundManager.noAudio is set and ignores the calls.

SoundManager.usingWebAudio is set to `false` by default (used to be `true`) and is only explicitly set if Web Audio is available and hasn't been disabled in the PhaserGlobal object.

SoundManager.touchLocked is now set to `false` should the device be using legacy Audio, avoiding the unlock call running without need.
2015-04-17 03:49:20 +01:00
photonstorm
8144c4910e jshint fixes. 2015-04-17 03:23:40 +01:00
photonstorm
2e2ba665cd PIXI.DisplayObject.updateTransform has a new optional parameter parent. If the DisplayObject doesn't have a parent (i.e. it isn't on the display list yet) then in the past updateTransform would fail. This meant you couldn't do things like scale or rotate a Sprite and then draw it to a RenderTexture or BitmapData, as calls to updateTransform would be ignored. The new checks now look to see if the parent parameter is set. If so this takes priority over the actual parent and is used to modify the transform (note that it **doesn't** reparent the DisplayObject, it merely uses it for the transform.) If there is no parent (explicitly or via the parameter) then it falls back to use Phaser.World as the parent. If it can't reach that then no transform takes place. 2015-04-17 03:22:23 +01:00
photonstorm
3a61fa35f0 RenderTexture.render now takes a Matrix as its second parameter, not a Point object. This brings it in line with Pixi and allows you to perform much more complex transformations on the object being rendered. If you need to replicate the old behavior please use RenderTexture.renderXY(sprite, point.x, point.y) instead.
RenderTexture.render and `renderXY` would ignore the Sprites rotation or scale. The full Sprite transform is now used correctly when the Sprite is drawn to the texture. If you wish to replicate the old behavior please use `RenderTexture.renderRawXY` instead.

RenderTexture.matrix has been removed as it's no longer used.

Fixed bug in Pixi where RenderTexture.render would ignore the given matrix.

Fixed a bug in Pixi where drawing a Sprite to a RenderTexture would reset the Sprites transform to an identity Matrix.
2015-04-17 03:22:07 +01:00
photonstorm
cdfc4ff45b Pixi.Sprite.renderCanvas and renderWebGL now has a new optional matrix parameter. You can use this to render the Sprite with an alternative transform matrix without actually adjusting the Sprite matrix at all. 2015-04-17 03:20:44 +01:00
photonstorm
1d8f88173d Phaser.Matrix.clone allows you to clone the Matrix to a new object, or copy its values into the given Matrix.
Phaser.Matrix.copyFrom and copyTo allow you to copy Matrix values from and to other Matrix  objects.

Phaser.Matrix.setTo allows you to set all properties of a Matrix in a single call.

The Phaser.Matrix constructor now allows you to optionally set all Matrix properties on instantiation.
2015-04-17 03:19:28 +01:00
photonstorm
eca360301c Bumping up the release to 2.4.0 due to the API changes in the State Manager. 2015-04-15 01:37:41 +01:00
photonstorm
333663731d Added the missing preRender function to the Phaser.State class template. 2015-04-15 01:37:18 +01:00
photonstorm
f2f8dcd061 Phaser.StateManager no longer calls preRender unless the State create method has finished. If the State doesn't have a create method then preRender runs immediately.
Phaser.StateManager.created is a new read-only boolean that tells you if the State has finished running its `create` method. If it doesn't have one it's always true.
2015-04-15 01:36:50 +01:00
photonstorm
b0e1b8facb jsdoc fixes. 2015-04-15 01:36:25 +01:00
photonstorm
9f493044d4 The StateManager would incorrectly call loadUpdate while the game was paused or if the State didn't have an update method defined even after the loader was completed.
The StateManager would incorrectly call `loadRender` while the game was paused or if the State didn't have an `render` method defined even after the loader was completed.
2015-04-14 15:34:32 +01:00
photonstorm
7b011fe0d3 Fix #1742 2015-04-14 09:31:04 +01:00
photonstorm
8f06991527 Added support for the [Creature Automated Animation Tool](http://www.kestrelmoon.com/creature/). You can now create a Phaser.Creature object which uses json data and a texture atlas for the animations. Creature is a powerful animation tool, similar to Spriter or Spine. It is currently limited to WebGL games only, but the new libs should prove a solid starting point for anyone wanting to incorporate Creature animations into their games. 2015-04-13 23:16:29 +01:00
photonstorm
0ffa499bd0 Removed getJSON parse parameter. It's already parsed :) 2015-04-13 22:06:57 +01:00
photonstorm
1f4e54eec9 Removed duplicate methods from PIXI.Text such as wordWrap and updateText as Phaser overrides them, so it was wasting bytes. 2015-04-13 21:54:14 +01:00
photonstorm
e5f1f6f896 Cache.getPixiTexture will return a PIXI.Texture from the cache based on the given key. A PIXI Texture is created automatically for all images loaded and added to the cache.
Cache.getPixiBaseTexture will return a PIXI.BaseTexture from the cache based on the given key. A PIXI BaseTexture is created automatically for all images loaded and added to the cache.

Cache.getTexture has now been removed (it was deprecated several versions ago). Use Cache.getRenderTexture instead.

Cache.getJSON has a new optional parameter: `parse`. If `true` the method will pass the data through JSON.parse before returning it. The default is `false` to retain backwards compatibility.
2015-04-13 20:25:42 +01:00
photonstorm
a7db0e2c70 Group.hash is an array (previously available as Group._hash, but protected) into which you can add any of its children via Group.addToHash and Group.removeFromHash. Only children of the Group can be added to and removed from the hash. The hash is used automatically by Arcade Physics in order to perform non z-index based destructive sorting. However if you don't use Arcade Physics, or it isn't a physics enabled Group, then you can use the hash to perform your own sorting and filtering of Group children without touching their z-index (and therefore display draw order).
Group.physicsSortDirection is a new property allowing you to set a custom sort direction for Arcade Physics Sprites within the Group hash. Previously Arcade Physics used one single sort direction (defined on `Phaser.Physics.Arcade.sortDirection`) but this change allows you to specifically control how each and every Group is sorted, so you can now combine tall and wide Groups with narrow and thin in a single system.
2015-04-13 16:30:02 +01:00
photonstorm
432516fa0f Physics.Arcade.sort has a new property 'sortDirection'. If not specified it will use World.sortDirection. If the Group given as the first parameter has its physicsSortDirection property set that will override any other setting.
Physics.Arcade.sort now calls one of four functions: sortLeftRight, sortRightLeft, sortTopBottom and sortBottomTop. Each of which takes 2 Sprites as arguments.

Physics.Arcade.sort now doesn't bail out if the Group contains a mixture of physics and non-physics enabled objects, as the Group hash is now only ever populated with physics enabled objects. Also the sort comparison functions no longer return -1 if the bodies are invalid, but zero instead (#1721)
2015-04-13 16:29:34 +01:00
photonstorm
35bfe5fb2a Body.destroy now automatically calls Group.removeFromHash. 2015-04-13 16:27:43 +01:00
photonstorm
412338478c Added in all hooks required for MatterJS Physics (coming soon!) 2015-04-13 16:16:34 +01:00
photonstorm
eb506e2698 PIXI.Graphics in Canvas mode wouldn't respect the objects visible or alpha zero properties, rendering it regardless (thanks @TimvdEijnden #1720) 2015-04-13 14:19:44 +01:00
photonstorm
bb8b0d04fc Graphics.drawPolygon can now accept a Phaser.Polygon or PIXI.Polygon object, as well as a points array (#1712) 2015-04-13 13:00:52 +01:00
photonstorm
f155ad452c Tilemap.createFromObjects has been updated for Tiled 0.11 and can now look-up object layers based on id, uid or name. It will also now copy over Sprite scaling properties if set (thanks @mandarinx #1738) 2015-04-13 12:40:12 +01:00
Richard Davey
78e7be5c96 Merge pull request #1738 from mandarinx/patch-1
Looking up object layers based on id, uid or name
2015-04-13 12:35:24 +01:00
photonstorm
7b8a430aac TilemapLayer docs incorrectly reported it as extending Phaser.Image, but it doesn't share the same components so has been updated.
TilemapLayer was missing the Input component (thanks @uhe1231 #1700)
2015-04-13 12:23:30 +01:00
photonstorm
04cb3889a9 P2.getConstraints would return an array of null objects. It now returns the raw p2 constraint objects (thanks @valueerrorx #1726) 2015-04-13 12:12:18 +01:00
photonstorm
b41cf3bc8c AnimationManager.frameName setter wasn't checking if _frameData existed before accessing it (thanks @nesukun #1727) 2015-04-13 11:58:45 +01:00
photonstorm
0aaa77a84d Strict check. 2015-04-13 11:58:45 +01:00
photonstorm
0ccb3515d5 Removed dirty flag. 2015-04-13 11:58:44 +01:00
photonstorm
8bca406889 Console update. 2015-04-13 11:58:44 +01:00
Richard Davey
0b3fc61ba7 Merge pull request #1723 from dgoemans/dev
Fix for Phaser with requirejs
2015-04-13 11:29:58 +01:00
Richard Davey
b1f294e445 Merge pull request #1722 from GGAlanSmithee/dev
Minor change to Tilemap class
2015-04-13 11:24:29 +01:00
Richard Davey
daea4e8087 Merge pull request #1728 from cuixiping/dev
Fix bug of Color.webToColor and Color.updateColor
2015-04-13 11:23:44 +01:00
Chad Engler
b89cdd5a0c check for existence of sprite on body destroy 2015-04-12 17:30:54 -07:00
Thomas Viktil
b406a61262 Looking up object layers based on id, uid or name
The description of the method stated that you could pass a string to look up an object layer based on its name, but the original code only looked for a gui property, regardless of type.

I'm using Tiled 0.11.0 on OSX, and my exported json-file doesn't contain a gui property on the object layers. Here's a snippet of my file:
```
{
    "layers":[
        {
         "draworder":"topdown",
         "height":0,
         "name":"Objects",
         "objects":[
                {
                 "height":48,
                 "id":1,
                 "name":"pier",
                 "properties":
                    {

                    },
                 "rotation":0,
                 "type":"",
                 "visible":true,
                 "width":64,
                 "x":208,
                 "y":240
                }],
         "opacity":1,
         "properties":
            {
             "type":"pier"
            },
         "type":"objectgroup",
         "visible":true,
         "width":0,
         "x":0,
         "y":0
        }]
    }]
}
```

The property in my file is called id and not uid. This might be due to changes in one of the later releases of Tiled. I kept the check for uid to avoid possibly breaking compatibility with older versions of Tiled.

I also added scaling of the sprite.

Feel free to make formatting changes, or rewrite the function to better fit the programming style of Phaser.
2015-04-11 22:16:17 +02:00
cuixiping
d0ec5e4060 Fix bug of Color.webToColor and Color.updateColor
Color.webToColor and Color.updateColor should update out.color and out.color32 property.
2015-04-09 12:14:20 +08:00
David Goemans
73bace335a Built a fix into p2.js v0.6.1 for using requirejs with phaser. This has also been put as a pull request to p2.js 2015-04-06 12:43:03 +02:00
Alan Smithee
d2e3a69525 Adds nonNull parameter to Tilemap.getTileWorldXY
Since Tilemap.getTile lets you specify wether to return null
or an empty tile when index is -1, the WorldXY equivalent
should offer the same possibility for a more unified interface.
2015-04-06 10:08:37 +00:00
photonstorm
36c064511c Added guards around context.getImageData calls in BitmapData, Text and Canvas Tinting classes to avoid crashing restricted browsers like Epic Browser. Please understand that several Phaser features won't work correctly with this browser (thanks @Erik3000 #1714) 2015-04-02 14:47:44 +01:00
hardalias
4bd7a40e84 Fixes neverending tween when duration set to zero
* Passing a value of zero as the value of duration causes the
 calculations performed in Tween#update to divide by zero when
 calculating the next step for the tween. This causes the tweened
 property value to be set to NaN having undesireable results and
 also, causes the tween to never end since the ending criteria are
 never met.
2015-04-01 15:01:05 +03:00
photonstorm
645723f939 Sprite was missing the Health and InCamera components. 2015-03-30 13:51:47 +01:00
photonstorm
5fb1130175 The LoadTexture component has had a redundant dirty call removed from it.
TileSprites were missing a `physicsType` property, causing them to not collide with anything (thanks @numbofathma #1702)
2015-03-28 00:56:02 +00:00
photonstorm
57474c0d44 Trying out removal of dirty flag. 2015-03-27 10:47:45 +00:00
photonstorm
67039df214 jsdoc fixes. 2015-03-27 10:47:25 +00:00
photonstorm
49be59b0c9 Added missing resumed method to Phaser.State class template. 2015-03-26 10:54:32 +00:00
photonstorm
413c81e034 Preparing for 2.3.1 development. 2015-03-26 04:01:37 +00:00
photonstorm
8233b0a079 Phaser 2.3.0. 2015-03-26 02:37:31 +00:00
photonstorm
eb235197e9 Phaser 2.3 Release Candidate 3. 2015-03-25 16:17:53 +00:00
photonstorm
79ace60997 Added guard around the xhr onload try / catch block, so it doesn't incorrectly report errors as being from the Loader when they may have been throw by the create method. 2015-03-25 16:13:52 +00:00
photonstorm
c1366c2f4f Arc comment. 2015-03-25 16:13:21 +00:00
photonstorm
93dc67be71 Graphics.drawArc would fail to draw any subsequent arcs if you set beginFill on it after drawing the first arc.
Graphics.drawArc would only move to the center position of the first arc created and ignore any subsequent arcs.
Graphics.drawArc now correctly renders multiple arcs across both WebGL and Canvas. You no longer need to specifically call moveTo to move into the correct place to draw the arc.
Graphics.drawArc now bails out if the startAngle = the endAngle and/or the sweep is invalid *before* adjusting any points.
Graphics.drawArc now correctly handles the fill on the CanvasRenderer if the arc is a subsequent arc and no line style is set.
2015-03-25 13:00:08 +00:00
photonstorm
d45a7bae8e Fixed constructor. 2015-03-25 12:59:41 +00:00
photonstorm
e7400be625 Formatting updates. 2015-03-25 12:59:31 +00:00
photonstorm
b1cdb358bb Merging in fixes from Pixi 3. 2015-03-25 11:04:58 +00:00
photonstorm
17b2eafbf3 Split GraphicsData to its own file. 2015-03-25 11:04:48 +00:00
photonstorm
93ed950f89 Small geom tidy-up. 2015-03-25 11:04:31 +00:00
photonstorm
f4d55b7785 When an Emitter is destroyed via Emitter.destroy it now removes itself from the Phaser Particle Manager, freeing it up for garbage collection and stopping it from being processed. 2015-03-25 05:07:39 +00:00
photonstorm
aa13ec0165 Animation.play wouldn't correctly set the play state on the Game Objects AnimationManager causing the animation to fail to start (calling AnimationManager.play did work however), now they're both consistently working. 2015-03-25 03:59:36 +00:00
photonstorm
244372384e When an Animation completes playback and isn't set to loop it would change the currentFrame property to be the first frame in the set after the onComplete callback had fired. This meant if you set a Sprite to a new frame within an Animation onComplete callback then your change would have been overwritten by the animation itself. This is now no longer the case. 2015-03-24 23:17:13 +00:00
photonstorm
83adc51698 Fixed the FixedToCamera :) 2015-03-24 21:35:09 +00:00
photonstorm
c4b83a1394 Phaser 2.3 Release Candidate 1. 2015-03-24 16:05:52 +00:00
photonstorm
96e313e768 If you paused a Sound object that is using audio markers and then resumed it, it wouldn't correctly calculate the resume duration - causing the sound to sometimes play into the marker that followed it (thanks @AnderbergE #1669) 2015-03-24 14:43:35 +00:00
photonstorm
7e19f45350 When the Game first boots it will now call window.focus(). This allows keyboard events to work properly in IE when the game is running inside an iframe. You can stop this from happening by setting window.PhaserGlobal.stopFocus = true (thanks @webholics #1681) 2015-03-24 13:27:27 +00:00
photonstorm
ebdb6d028f The Physics Manager now has a new reset method which will reset the active physics systems. This is called automatically on a State swap (thanks @englercj #1691) 2015-03-24 10:21:12 +00:00
photonstorm
7aa4d0ad0d When a State is started and linked to Phaser it has a new property created on it: key, which is the string identifier used by the State. 2015-03-24 10:21:03 +00:00
photonstorm
12fc424305 Huge amount of jsdoc updates. 2015-03-23 23:46:09 +00:00
photonstorm
08c9513f98 Improving the Component documentation. 2015-03-23 19:56:23 +00:00
photonstorm
85c8f60d7c Removed 'global' component arrays. 2015-03-23 19:19:07 +00:00
photonstorm
b7b622a556 Text style has a new optional property: backgroundColor which is a Canvas fill style that is set behind all Text in the Text object. It allows you to set a background color without having to use an additional Graphics object.
Text.lineSpacing can now accept negative values without cutting the bottom of the Text object off. The value can never be less than the height of a single line of text.

Text.lineSpacing is no longer applied to the first line of Text, which prevents text from being cut off further down the Text object.
2015-03-23 16:12:23 +00:00
photonstorm
7010883bc3 Tidying up. 2015-03-23 15:07:09 +00:00
photonstorm
77eaa7e707 Optimised World.collideHandler and added SORT_NONE option. 2015-03-23 15:05:57 +00:00
photonstorm
b07ce89236 sourceWidth / Height now only set from the texture if the object has a texture. 2015-03-23 15:05:39 +00:00
photonstorm
1486e166bd Added physicsType property. 2015-03-23 15:04:27 +00:00
photonstorm
55048a4b25 BitmapText objects now have an anchor property. This works in a similar way to Sprite.anchor except that it offsets the position of each letter of the BitmapText by the given amount, based on the overall BitmapText width - whereas Sprite.anchor offsets the position the texture is drawn at. 2015-03-23 15:03:53 +00:00
photonstorm
506ff8843e Fixed incorrect use of this.response which broke Binary files with callbacks. Should be all of them caught now - ProTracker example now works again as a result too. 2015-03-23 10:52:43 +00:00
photonstorm
35a9bdcfc9 Fixed loading of physics json data (old responseText reference) 2015-03-23 10:46:38 +00:00
photonstorm
ba052389a3 New version of p2.js merged for testing. 2015-03-23 10:11:49 +00:00
photonstorm
3f30a3d0d2 jsdocs updates. 2015-03-23 10:11:39 +00:00
photonstorm
ca752cc59c jsdoc updates. 2015-03-23 08:13:59 +00:00
photonstorm
a190823dad jsdoc fix. 2015-03-23 08:13:59 +00:00
photonstorm
4e3d189678 Updated Pixi version. 2015-03-23 08:13:59 +00:00
Richard Davey
ae72107de8 Merge pull request #1685 from pnstickne/wip-1679
Animation - guard around destroy
2015-03-23 07:53:59 +00:00
Richard Davey
a10a18277a Merge pull request #1686 from englercj/dev
Add debug drawing for p2 capsule shape
2015-03-23 07:47:30 +00:00
Chad Engler
f5af981da3 fix missing semicolon 2015-03-22 21:28:27 -07:00
Chad Engler
97410f8907 add debug drawing for p2 capsule shape 2015-03-22 19:45:18 -07:00
Paul
6225bb0e94 Animation - guard around destroy
- Allows sprites (and/or the animation) to be destroyed from within
  the onUpdate, onLoop, or onComplete events
2015-03-22 17:01:37 -07:00
photonstorm
cb9ef4f12e Text.padding specifies a padding value which is added to the line width and height when calculating the Text size. ALlows you to add extra spacing if Phaser is unable to accurately determine the true font dimensions (#1561 #1518) 2015-03-19 01:54:14 +00:00
photonstorm
b13acdb23b TilingSprite.destroy fixed if TilingSprite hasn't ever been rendered (#1663) 2015-03-19 01:39:39 +00:00
photonstorm
5a9b509b44 ArraySet.removeAll allows you to remove all members of an ArraySet and optionally call destroy on them as well.
GameObject.input.dragStartPoint now stores the coordinates the object was at when the drag started. This value is populated when the drag starts. It can be used to return an object to its pre-drag position, for example if it was dropped in an invalid place in-game.
2015-03-19 00:51:13 +00:00
breakosaur
bb600b4319 Fixed a few documentation typos. 2015-03-18 21:07:36 +00:00
Richard Davey
358e0a6675 Merge pull request #1674 from englercj/dev
Fix debug drawing for p2 physics bodies
2015-03-18 19:21:59 +00:00
photonstorm
165e5935c2 JSDoc fixes. 2015-03-18 19:14:58 +00:00
Chad Engler
0b3850cc0c Fix debug drawing for p2 physics bodies 2015-03-18 01:19:32 -07:00
Paul
dcc83ec793 Tilemap renderer - context save/restore
- Added context save/restore; the secondary issue when the canvas
  is copied from later, and if any alpha is applied
2015-03-16 22:05:46 -07:00
Paul
54dba67f50 Tilemap rendering sets initial state better
- #1666 - previous alpha state could bleed through.
  Now the initial alpha and composite modes are set explicitly.
2015-03-16 21:35:39 -07:00
Paul
cc5d1d02e5 Loader: loading from pack data
- Corrected logic where packs added via data would still try to be loaded.
  This makes the behavior correct per the documentation and v2.2
2015-03-15 20:26:37 -07:00
photonstorm
6cf982a4a0 Fixed to Destroy component if still in render loop. 2015-03-11 01:44:46 +00:00
photonstorm
ee61d95980 Tidying up the Pixi source.
Added DisplayObject.destroy to cleanly remove all references, callbacks and cached textures (fixes #1656)
2015-03-10 15:13:37 +00:00
photonstorm
0516167c3d Finally tracked down the rogue bug causing Graphics objects to not work with various components (fix #1654) 2015-03-10 14:23:49 +00:00
photonstorm
fe9a9fcd63 More Pixi updates. 2015-03-05 19:26:53 +00:00
photonstorm
f4eff6359c Added isArray check. 2015-03-05 14:02:24 +00:00
photonstorm
364f3b3cb8 Formatting. 2015-03-05 14:02:04 +00:00
photonstorm
893d36f128 jsdoc fix. 2015-03-05 14:01:52 +00:00
photonstorm
d717c5c180 Removed final traces of _interactive properties and checks. Also added preUpdate catch. 2015-03-05 14:01:43 +00:00
photonstorm
ed3afed2ff Fixed spelling mistake. 2015-03-05 14:00:57 +00:00
photonstorm
0a45223cd4 Resuming a sound needs the onended handler adding back in again. 2015-03-04 00:32:33 +00:00
Richard Davey
7eb73e99a8 Merge pull request #1648 from pnstickne/wip-components-docs
Component documentation
2015-03-01 10:46:55 +00:00
Paul
4de95c09b5 Component documentation
- Required changes for documentation to show up correctly
  - Uses multiple @extends, which currently [mostly] works in jsdoc
    and like closure compiler
2015-02-28 23:00:17 -08:00
Paul
ee34327c93 Components: bug fixes
- Use property check ('in') to avoid property access

- Promoted 'body' property for physics
2015-02-28 17:49:45 -08:00
Paul
0e5272b217 Merge remote-tracking branch 'upstream/dev' into wip-components-toproto
Conflicts:
	src/gameobjects/Image.js
	src/gameobjects/Rope.js
	src/gameobjects/Sprite.js
	src/gameobjects/Text.js
	src/gameobjects/TileSprite.js
	src/gameobjects/components/Core.js
2015-02-28 15:51:47 -08:00
photonstorm
2483cd5df4 Various readonly Body properties flagged as 'readonly' in the jsdocs (#1643) 2015-02-26 23:32:14 +00:00
photonstorm
53b1562eb6 jshint fix 2015-02-26 23:12:26 +00:00
Richard Davey
c819f0b508 Merge pull request #1642 from zekoff/tileset-render-fix
Fix row/col count formula.
2015-02-26 21:28:21 +00:00
photonstorm
f99f182a6f Arcade Physics is now using a spacial pre-sort for all Sprite vs. Group and Group vs. Group collisions. You can define the direction the sort will prioritise via the new sortDirection property. By default it is set to Phaser.Physics.Arcade.LEFT_RIGHT. For example if you are making a horizontally scrolling game, where the player starts on the left and moves to the right, then this sort order will allow the physics system to quickly eliminate any object to the right of the players bounds. This cuts down on the sheer volume of actual collision checks needing to be made. In a densely populated level it can improve fps rate dramatically.
There are 3 other directions available (`RIGHT_LEFT`, `TOP_BOTTOM` and `BOTTOM_TOP`) and which one you need will depend on your game type. If you were making a vertically scrolling shoot-em-up then you'd pick `BOTTOM_TOP` so it sorts all objects above and can bail out quickly.

More importantly you can switch the `sortDirection` at run-time with no loss of performance. Just make sure you do it *before* running any collision checks. So if you had a large 8-way scrolling world you could set the `sortDirection` to match the direction the player was moving in and adjust it in real-time, getting the benefits as you go. My thanks to Aaron Lahman for inspiring this update.
2015-02-26 21:24:07 +00:00
photonstorm
74eeddf956 You can now set a resolution property in your Game Configuration object. This will be read when the Pixi renderer instance is created and used to set the resolution within that (#1621) 2015-02-26 10:52:30 +00:00
Michael Zekoff
510353f6fb Fix row/col count formula.
This fixes the rendering issue for tilesets with margin/spacing
as described in photonstorm/phaser#1641.
2015-02-26 04:34:41 +00:00
photonstorm
41396d5ad2 Merged all of the relevant Pixi 2.2.7 fixes in (#1621) 2015-02-25 17:04:48 +00:00
photonstorm
03a2db18cb Added extra protection in the case of mixed-type Groups.
Removed window vars and replaced with stats property.
Removed redundant if/else checks.
2015-02-25 06:06:40 +00:00
photonstorm
8aec760cd5 First pass at spacial sorting in World.collide. 2015-02-25 05:39:02 +00:00
photonstorm
321e11d0a5 A State swap now sets the Loader.reset hard parameter to true by default. This will null any Loader.preloadSprite that may have been set (#1636) 2015-02-25 05:18:49 +00:00
photonstorm
a69e53f901 Copyright date change. 2015-02-25 03:36:23 +00:00
photonstorm
466a4d11bb Loader.preloadSprite had an extra guard added to ensure it didn't try to updateCrop a non-existent sprite (thanks @noidexe #1636) 2015-02-25 03:08:37 +00:00
photonstorm
dee13d52d8 jshint fix. 2015-02-25 02:50:57 +00:00
photonstorm
ae7a1fda05 Optimised preUpdate callbacks. 2015-02-25 02:49:50 +00:00
photonstorm
ee48675a28 Fixed trimmed TileSprites in Canvas (WebGL still broken, as it's broken in Pixi also) 2015-02-25 02:49:38 +00:00
photonstorm
72530d963b Default exists should be true! 2015-02-25 02:49:19 +00:00
photonstorm
c799dfe7da Fixed physics postUpdate issue causing particles and all kinds of things to go awry. 2015-02-25 02:18:05 +00:00
photonstorm
ec19abb91c Component preUpdate changes. 2015-02-25 00:59:27 +00:00
photonstorm
3d399f1b14 Removed the final few private vars from computeVelocity 2015-02-25 00:04:53 +00:00
photonstorm
c9939f8691 Tilemap fix #1635 2015-02-24 22:57:59 +00:00
photonstorm
42b316473d jsdoc fix. 2015-02-23 13:58:57 +00:00
Paul
3e5c1532d8 Fixed jsdoc-abort bug with "||" in jsdoc type
- jsdoc aborts on x||y found in types..
2015-02-22 20:51:00 -08:00
Paul
4f747a1c00 Components - moving install to prototype
- This ensures the components are regsitered once per type
  instead of once per instance (which is duplicate work)
2015-02-22 20:44:11 -08:00
photonstorm
a75e28d2b8 jshint fixes. 2015-02-22 20:08:44 +00:00
photonstorm
8b7085e20a RenderTexture guards. 2015-02-22 19:30:43 +00:00
photonstorm
e93ded324f Added missing class var. 2015-02-22 19:30:34 +00:00
photonstorm
5fd066c610 ArraySet.getByKey gets an item from the set based on the property strictly equaling the value given. 2015-02-22 19:30:23 +00:00
photonstorm
8d71e8a32c Animation.update skips ahead frames when the system is lagging, however it failed to set the animation to the final frame in the sequence if the animation skipped ahead too far (thanks @richpixel #1628) 2015-02-22 19:26:56 +00:00
photonstorm
ba08498e73 Fixed bug with the watch list not checking decode status by key properly. 2015-02-20 00:58:05 +00:00
photonstorm
bec18cb46c Removed redundant event call. 2015-02-19 15:27:59 +00:00
photonstorm
babd303a2a Manager stubs for new custom build process. 2015-02-19 05:01:12 +00:00
photonstorm
3d0bc682f0 Moved Events. 2015-02-19 05:00:55 +00:00
photonstorm
f613e5882e Allowed Keyboard and Gamepad to be optional. 2015-02-19 05:00:41 +00:00
photonstorm
a7bdce1806 Moved collideSpriteVsTilemapLayer to here. 2015-02-19 05:00:22 +00:00
photonstorm
eb732e1d90 Refactored ArcadePhysics.World to remove global property use and array length caches. 2015-02-19 04:59:55 +00:00
photonstorm
02ef1555c5 A TweenData wouldn't take into account the repeatDelay property when repeating the tween, but now does. A TweenData also has a new property yoyoDelay which controls the delay before the yoyo will start, allowing you to set both independently (thanks @DreadKnight #1469)
Tween.updateTweenData allows you to set a property to the given value across one or all of the current tweens. All of the Tween methods like Tween.delay and Tween.repeat have been updated to use this.

Tween.repeat has a new parameter `repeatDelay` which allows you to set the delay (in ms) before a tween will repeat itself.

Tween.yoyo has a new parameter `yoyoDelay` which allows you to set the delay (in ms) before a tween will start a yoyo.

Tween.interpolation has a new parameter `context` which allows you to define the context in which the interpolation function will run.
2015-02-19 00:51:32 +00:00
photonstorm
35b4926eb8 Undoing previous change - doesn't actually work at all! #1620 2015-02-18 23:32:12 +00:00
photonstorm
4699770520 Adjusted function order. 2015-02-18 23:15:54 +00:00
photonstorm
9effb4a946 Stage.visibilityChange now has a second parameter fromPhaser. This is set to true by the Stage._onChange callback. This should mean that when Phaser is listening for window.onblur and window.onfocus events it will only trigger the visibilityChange if that event was generated by Phaser itself. If it was generated by something else on the page or iframe it should now be ignored (thanks @austinhallock #1620) 2015-02-18 23:12:08 +00:00
photonstorm
88f10f7f89 Updated fixedToCamera docs to reflect non-nesting (#1596) 2015-02-18 22:58:48 +00:00
photonstorm
b0261e4a5f Group.cursorIndex is the index of the item the Group cursor points to. This replaces Group._cache[8]. 2015-02-18 22:54:19 +00:00
photonstorm
88ab104da4 BitmapText has a new maxWidth property that will attempt to wrap the text if it exceeds the width specified. 2015-02-18 22:36:12 +00:00
photonstorm
ba727555c8 Emitter.flow now works in a slightly different (and more useful!) way. You can now specify a quantity and a total. The quantity controls how many particles are emitted every time the flow frequency is met. The total controls how many particles will be emitted in total. You can set total to be -1 and it will carry on emitting at the given frequency forever (also fixes #1598 thanks @brianbunch) 2015-02-18 22:35:05 +00:00
photonstorm
9879fc6387 If you load an image and provide a key that was already in-use in the Cache, then the old image is now destroyed (via Cache.removeImage) and the new image takes its place. 2015-02-18 16:58:08 +00:00
photonstorm
72d1c13b6b Fixed jshint error. 2015-02-18 14:54:19 +00:00
photonstorm
58d37b51fe Fixed canvas destroy if undefined. 2015-02-18 14:54:11 +00:00
photonstorm
ef3cb1f31d Sound in Web Audio now uses AudioContext.onended to trigger when it will stop playing instead of using a time based value. This is only used if the sound doesn't loop and isn't an audio sprite, but will give a much more accurate Sound.onStop event. It also prevents short audio files from being cut off during playback (#1471) and accounts for time spent decoding. 2015-02-18 11:25:17 +00:00
photonstorm
eba1743404 jshint fixes. 2015-02-18 10:25:27 +00:00
photonstorm
f47fb7a7c7 jshint fixes. 2015-02-17 18:16:12 +00:00
photonstorm
819826ce08 Added Polygon.flatten and Polygon.toNumberArray.
Fixed Graphics.lineTo if no moveTo has been specified.
Fixed Graphics.drawShape if a mixed-type Polygon has been given.
2015-02-17 18:03:15 +00:00
photonstorm
97ebfce7a6 Fixed Matrix.apply. 2015-02-17 18:02:40 +00:00
photonstorm
f59d7e3430 Working through Graphics class updates. 2015-02-17 16:40:41 +00:00
photonstorm
8b2f5fc98b Added the missing Geom types. 2015-02-17 16:39:49 +00:00
photonstorm
11889cd6b5 Added the Graphics consts. 2015-02-17 16:39:40 +00:00
photonstorm
8f86f911af Formatting. 2015-02-17 16:39:29 +00:00
photonstorm
872048eb6c Commented-out all EventListener related code for testing. 2015-02-17 16:39:14 +00:00
photonstorm
7b9ae51f6f Removed duplicate polyfills. 2015-02-17 16:38:44 +00:00
photonstorm
41e2fbff55 TilemapLayer no longer extends Image, but is a GameObject of its own. 2015-02-17 16:38:27 +00:00
photonstorm
e100f2f528 Added in type properties. 2015-02-17 16:38:07 +00:00
photonstorm
f561659367 Removed sayHello (covered in Phaser banner) 2015-02-17 15:50:31 +00:00
photonstorm
5b8635d334 Removed all Stage interaction related code. 2015-02-17 15:50:12 +00:00
photonstorm
052b9a7e06 Separated the Tilemap specific code from World. 2015-02-17 15:49:53 +00:00
photonstorm
fa7fee99b6 Moved Matrix and RoundedRectangle into Phaser geom structure. 2015-02-17 15:49:30 +00:00
photonstorm
77a3bfea23 loadTexture guard. 2015-02-17 15:48:54 +00:00
photonstorm
5b0c751647 Animation component guard. 2015-02-17 15:48:43 +00:00
photonstorm
b2cfb29740 Moved all code that modified Pixi globals into its own file, so we can call it after the Phaser overrides are in place. 2015-02-17 15:48:33 +00:00
photonstorm
075347c1e8 jsdocs tidying. 2015-02-17 15:47:50 +00:00
photonstorm
8c786a2df5 Removing Pixi files no longer used in this build of Phaser. 2015-02-17 15:46:52 +00:00
photonstorm
17e2d22962 mixinPrototype can now clone objects that support it. 2015-02-17 15:45:37 +00:00
photonstorm
52f4a037a3 Added 'replace' parameter to mixinPrototype. 2015-02-17 06:01:25 +00:00
photonstorm
9fd5ae119b jsdocs update. 2015-02-17 06:01:09 +00:00
photonstorm
6a0a44d47e Small code update. 2015-02-17 06:00:55 +00:00
photonstorm
167bbde8d4 Game Objects all now using the new Components mixins. 2015-02-17 06:00:41 +00:00
photonstorm
4bb1adcf36 Typo fix. 2015-02-17 06:00:18 +00:00
photonstorm
166c0363fc jshint fixes 2015-02-17 05:59:54 +00:00
photonstorm
bf4c1d0620 Split out all the common GameObject features into components. 2015-02-17 05:15:04 +00:00
photonstorm
f64f9c1d15 Added mixinPrototype. 2015-02-17 05:14:23 +00:00
photonstorm
57ff6f4176 Fixed applyInverse point cache bug. 2015-02-17 05:14:09 +00:00
photonstorm
1229c791b3 Added Body.dirty flag (reserved for future use) 2015-02-17 05:13:54 +00:00
photonstorm
0588f95f4c Body.phase renamed to Body.dirty. 2015-02-17 05:13:36 +00:00
photonstorm
86f05160b7 Removed array length vars and added strict equalities. 2015-02-17 05:13:12 +00:00
photonstorm
8483eac6aa Removing all use of _cache from all Game Objects. 2015-02-16 17:22:51 +00:00
photonstorm
9670c8aa86 InputHandler.enableDrag with a boundsRect set now takes into account the Sprites anchor when limiting the drag (thanks @unindented #1593)
InputHandler.enableDrag with a boundsSprite set now takes into account both the Sprites anchor and the boundsSprite anchor when limiting the drag.
2015-02-16 15:49:46 +00:00
photonstorm
8c23bca62d Sprite.left, Sprite.right, Sprite.top, Sprite.bottom are new properties that contain the totals of the Sprite position and dimensions, adjusted for the anchor.
Sprite.offsetX and Sprite.offsetY contain the offsets from the Sprite.x/y coordinates to the top-left of the Sprite, taking anchor into consideration.
2015-02-16 15:47:55 +00:00
photonstorm
01a23b7d91 Tween.to now correctly accepts arrays are destination values, which makes the Tween interpolate through each value specified in the array using the defined Tween.interpolation method (see new example, thanks @FridayMarch26th #1619)
Tween.interpolationFunction was using the incorrect context to invoke the function. This is now defined in `TweenData.interpolationFunctionContext` and defaults to `Phaser.Math`. If you provide your own interpolation function then please adjust the context accordingly (thanks @FridayMarch26th #1618)
2015-02-16 12:23:54 +00:00
photonstorm
ae198e9364 InputHandler was using the wrong property in checkBoundsSprite when fixedToCamera (thanks @yig #1613) 2015-02-14 19:10:06 +00:00
photonstorm
e9a77d95eb Deviations, oh the horror! 2015-02-12 09:44:53 +00:00
photonstorm
f60b2b7635 World.setBounds if called after you had already started P2 Physics would incorrectly create a new collision group for the wall objects. P2.World now remembers the settings you provide for each wall and the collision group, and re-applies these settings should the world dimensions ever change (thanks @nextht #1455) 2015-02-11 22:33:29 +00:00
photonstorm
b692d3b456 PIXI.TextureSilentFail is a boolean that defaults to false. If true then PIXI.Texture.setFrame will no longer throw an error if the texture dimensions are incorrect. Instead Texture.valid will be set to false (#1556) 2015-02-11 22:10:53 +00:00
photonstorm
daf8440247 Tile.properties is now unique to that specific Tile, and not a reference to the Tileset index bound properties object. Tile.properties can now be modified freely without impacting other tiles sharing the same id (#1254) 2015-02-11 21:40:37 +00:00
photonstorm
8892f46a83 PIXI.WebGLRenderer.destroy has been fixed to decrement the glContextId and remove it from the PIXI.instances global. Game.destroy now hooks into this. This now means that you can now delete and create your Phaser game over and over without it crashing WebGL after the 4th attempt (#1260) 2015-02-11 21:02:15 +00:00
photonstorm
b68c3071a6 Phaser.Ellipse.contains is now working again (thanks @spayton) 2015-02-11 18:51:35 +00:00
photonstorm
0e7820bde5 Group.forEach (and many other Group methods) now uses the children.length value directly instead of caching it, which both helps performance and stops the loop from breaking should you remove a Group child in the invoked callback. 2015-02-11 17:19:56 +00:00
photonstorm
5967f01a49 jshint fix. 2015-02-11 16:57:24 +00:00
photonstorm
c243222889 Docs update #1231 2015-02-11 16:41:56 +00:00
photonstorm
599bcf5f97 Loader.audiosprite has a new jsonData parameter. It allows you to pass a pre-existing JSON object (or a string which will be parsed as JSON) to use as the audiosprite data, instead of specifying a URL to a JSON file on the server (thanks @jounii #1447)
Loader.audiosprite has a new `autoDecode` parameter. If `true` the audio file will be decoded immediately upon load.
2015-02-11 16:16:58 +00:00
photonstorm
aa2df803b7 Pointer.stop would call event.preventDefault if Pointer._stateReset was true, which is always true after a State has changed and before Pointer.start has been called. However this broken interacting with DOM elements in the case where the State changes and you immediately try to use the DOM element without first having clicked on the Phaser game. An additional guard was added so preventDefault will now only be called if both _stateReste and Pointer.withinGame are true (thanks @satan6 #1509) 2015-02-11 16:03:24 +00:00
photonstorm
42c75c0ad2 Updated jsdocs to mention roundPixels (#1377) 2015-02-11 15:32:52 +00:00
Richard Davey
b560af992f Merge pull request #1375 from pnstickne/wip-text-consistency
Text - font components can be specified as part of "style"
2015-02-11 15:06:48 +00:00
photonstorm
6b8622a336 Timer.update was calling the TimerEvent callback even if TimerEvent.pendingDelete was already set to true, causing timer events to stack-up in cases where a new TimerEvent was generated in the callback (thanks @clowerweb #838) 2015-02-11 14:43:23 +00:00
photonstorm
74bee324a5 Sound.fadeIn now supports fading from a marker, as well as the entire audio clip, so now works with audio sprites (thanks @vorrin #1413) 2015-02-11 13:52:16 +00:00
photonstorm
6506e8d7e6 JSdocs update (fix #1520) 2015-02-11 13:47:58 +00:00
photonstorm
ff76cf75ad jsdoc fixes. 2015-02-11 05:19:09 +00:00
photonstorm
29fd37aed7 Formatting update. 2015-02-11 05:19:00 +00:00
photonstorm
ea86bc85b4 jsdoc typo / spelling fixes.
Also all audio decoding is now passed to the SoundManager to handle, rather than duplicate the effort in the Loader.
2015-02-11 05:18:52 +00:00
photonstorm
dfee82834d Sound.loop even when set for WebAudio wouldn't use the AudioContext loop property because Sound.start was being invoked with an offset and duration. Now if loop is true and no marker is being used it will use the native Web Audio loop support (#1431)
SoundManager.setDecodedCallback lets you specify a list of Sound files, or keys, and a callback. Once all of the Sound files have finished decoding the callback will be invoked. The amount of time spent decoding depends on the codec used and file size. If all of the files given have already decoded the callback is triggered immediately.

Sound.loopFull is a new method that will start playback of the Sound and set it to loop in its entirety.
2015-02-11 05:17:53 +00:00
yigitozdemir
9ad1230257 On Ceiling Method Added 2015-02-11 01:36:35 +02:00
photonstorm
18ff04810f ArcadePhysics.distanceToPointer now calculates the distance in world space values.
ArcadePhysics.moveToPointer no longer goes crazy if the maxTime parameter is given and the Sprite is positioned in a larger game world (thanks @AnderbergE #1472)
2015-02-10 22:16:35 +00:00
photonstorm
7a066a3a8c World.setBounds will now adjust the World.x/y values to match those given (#1555) 2015-02-10 21:40:53 +00:00
photonstorm
cc7096b045 jsdoc fix #1543 2015-02-10 21:22:36 +00:00
photonstorm
0054dc996b The Loader now directly calls StateManager.loadComplete rather than the StateManager listening for the loadComplete event, because Loader.reset unbinds this event (and it's easy to accidentally remove it too)
Loader.onLoadComplete is dispatched *before* the Loader is reset. If you have a `create` method in your State please note that the Loader will have been reset before this method is called. This allows you to immediately re-use the Loader without having to first reset it manually.
2015-02-10 17:04:04 +00:00
photonstorm
dfc8ff32d2 You can now tint animated Sprites in Canvas mode. Or change the texture atlas frame of a tinted Sprite or Image. Please note that this is pretty expensive (depending in the browser), as the tint is re-applied every time the *frame changes*. The Pixi tint cache has also been removed to allow for subtle tint color shifts and to avoid blowing up memory. So use this feature sparingly! But at least it does now work (#1070) 2015-02-10 14:53:55 +00:00
photonstorm
823997744b Docs update. 2015-02-10 14:53:55 +00:00
Richard Davey
960383818b Merge pull request #1609 from mikaturunen/dev
Read ObjectLayer Objects .type property for Tiles
2015-02-10 13:50:36 +00:00
photonstorm
816a80f39a If Body.customSeparateX or customSeparateY is true then the Body will no longer be automatically separated from a **Tilemap** collision or exchange any velocity. The amount of pixels that the Body has intersected the tile is available in Body.overlapX and overlapY, so you can use these values to perform your own separation in your collision callback (#992) 2015-02-10 12:58:12 +00:00
Mika Turunen
be3edd8437 Now the backwards compatibility is not broken
As implementation is leaning on 0.11.0 feature of Tiled, I made sure the earlier Tiled files that might be used are not going to break from this. Defaulting to empty string if the .type property is not defined by Tiled (for Tiled < 0.11.0), otherwise we use the provided value.
2015-02-10 14:54:14 +02:00
photonstorm
4489a12fd8 Sprite.loadTexture and Image.loadTexture now no longer call updateTexture if the texture given is a RenderTexture. This fixes issues with RetroFonts in IE11 WebGL as well as other RenderTexture related IE11 problems (#1310 #1381 #1523) 2015-02-10 12:27:55 +00:00
photonstorm
c154b8c785 Loader.resetLocked is a boolean that allows you to control what happens when the loader is reset, *which happens automatically on a State change*. If you set resetLocked to true it allows you to populate the loader queue in one State, then swap to another State without having the queue erased, and start the load going from there. After the load has completed you could then disable the lock again as needed.
Loader.reset has a new optional 2nd parameter `clearEvents` which if set to `true` (the default is false) will reset all event listeners bound to the Loader.
2015-02-10 11:58:17 +00:00
Mika Turunen
8a197b6023 Read ObjectLayer Objects .type property for Tiles
Why isn't the .type already read from the objects details as it's there? Latest release version of Tiled 0.11.0 has this field for Objects and it's quite extensively used by other frameworks.

Well, I need this and I suppose there are other people too who might be interested in having this in here too. Currently I go around this by creating a custom property of "type" and setting my value on it but that's just extremely silly.
2015-02-10 11:05:28 +02:00
photonstorm
c42954ae59 Condensed Cache.destroy method. 2015-02-09 20:27:58 +00:00
photonstorm
2cb9ea312b extension URL fix, jsdoc fix and small format changes. 2015-02-09 20:27:47 +00:00
photonstorm
2b2ee27912 If for whatever reason you wish to hide the Phaser banner in the console.log you can set window.PhaserGlobal.hideBanner to true and it will skip the output. Honestly I'd rather if you didn't, but the option is now there. 2015-02-09 20:10:51 +00:00
Richard Davey
8340d56cd6 Merge pull request #1356 from pnstickne/wip-loader
Loader - parallel / extensible / documentation
2015-02-09 20:10:22 +00:00
Richard Davey
b66a0aa11a Merge pull request #1605 from mickez/tilemaplayer_scale
Added scaling capability to TilemapLayer
2015-02-09 20:02:48 +00:00
Paul
367d976061 Loader: documentation
- Corrected some documentation wrt. parallel downloading
2015-02-08 20:40:54 -08:00
Paul
b63f6873e5 Loader: better audio selection
- Fixed bug where `.` in query portion of URI could throw off
  auto-detection
- Allow `Loader#audio` to accept `{uri..,type..}` objects to blobs (and
  data) URIs can also be used to auto-format detection / fallbacks.
2015-02-08 20:22:09 -08:00
Paul
86dc43874c Loader: enabled parallel-by-default
- Minor cleanup to parallel: enabled by default, limit of 4 (hard-limit
  max 12)
2015-02-08 19:42:34 -08:00
Paul
8d61441844 Merge remote-tracking branch 'upstream/dev' into wip-loader
- Added changes/support for 'blob:' uri's in upstream, extended to 'data:'
- Added upstream documentation
- Some small fixes for XHD from upstream

Conflicts:
	src/loader/Loader.js
2015-02-08 19:42:22 -08:00
photonstorm
35a04b2f1e TilemapParser now supports Tiled 0.11 version maps which includes the rotation property on all Object types.
Tilemap.createFromObjects now checks for a `rotation` property on the Object and if present will set it as the Sprite.angle (#1433)
2015-02-08 23:25:41 +00:00
photonstorm
ff04754bb8 Text width calculation strings made consistent. 2015-02-08 22:07:47 +00:00
photonstorm
e85be1f1d8 BitmapText.font wouldn't update an internal Pixi property (fontName) causing the text to fail to change font (thanks @starnut #1602) 2015-02-08 22:07:36 +00:00
photonstorm
6d86952f98 JSDoc fix. 2015-02-08 21:57:09 +00:00
photonstorm
c891d617d9 Swapped back to 2.2.2 expected setting. 2015-02-08 21:57:09 +00:00
photonstorm
6081aa360f P2.Body.clearCollision default values were incorrectly set to false if no parameters were provided, even though the docs said they were true (thanks @brianbunch #1597) 2015-02-08 21:57:08 +00:00
Richard Davey
fed997a5a1 Merge pull request #1601 from draconisNoctis/dev
use XDomainRequest in Loader.xhrLoad
2015-02-08 21:51:12 +00:00
emailto@niklasberg.se
a0ea73a4cd Support for tiles rotated and/or flipped in Tiled 2015-02-08 21:21:39 +01:00
emailto@niklasberg.se
a70dd81a80 Support for tiles rotated and/or flipped in Tiled 2015-02-08 21:03:19 +01:00
Michael Rehn
bb2e263345 Changed to bracket on new line to follow the rest of the codes style 2015-02-07 21:31:17 +01:00
Michael Rehn
e600cb89b7 Added scaling capability to TilemapLayer via the setScale method 2015-02-07 19:48:44 +01:00
Mark Wecke
3a70677a05 use XDomainRequest in Loader.xhrLoad 2015-02-06 13:52:24 +01:00
photonstorm
9cdcdc7bc5 Device.touch checks if window.navigator.maxTouchPoints is >= 1 rather than > 1, which now allows touch events to work properly in Chrome mobile emulation. 2015-02-05 06:12:20 +00:00
photonstorm
5bd231d532 JSDoc fixes. 2015-02-05 05:13:22 +00:00
photonstorm
569483ab17 Game._kickstart forces Phaser to always call at least one logic update before being allowed to render. 2015-02-05 05:12:59 +00:00
photonstorm
d710caed9e Body.reset now resets the Body.speed value to zero. 2015-02-05 05:12:31 +00:00
photonstorm
8dec37107e MSPointer.capture allows you to optionally event.preventDefault the pointer events (was previously always on)
MSPointer.event now stores the most recent pointer event.
MSPointer.pointerDownCallback, pointerMoveCallback and pointerUpCallback all allow you to set your own event based callbacks.
2015-02-05 05:12:00 +00:00
photonstorm
336fdfa672 TileSprites weren't destroying WebGL textures, leading to eventual out of memory errors (thanks @chacal #1563) 2015-02-03 21:32:39 +00:00
photonstorm
f55ba6755f jsdoc fix 2015-02-03 21:32:39 +00:00
photonstorm
3eba508382 Sprite.events.onDragStart has 2 new parameters x and y which is the position of the Sprite before the drag was started. The full list of parameters is: (sprite, pointer, x, y). This allows you to retain the position of the Sprite prior to dragging should dragFromCenter have been enabled (thanks @vulvulune #1583) 2015-02-03 21:32:39 +00:00
photonstorm
2ba6e0528e TilemapLayer.getTiles now returns a copy of the Tiles found by the method, rather than references to the original Tile objects, so you're free to modify them without corrupting the source (thanks @Leekao #1585) 2015-02-03 21:32:39 +00:00
Richard Davey
a2854d21fd Merge pull request #1580 from integricho/fix#1551
fix #1551 - detect mouseup on tilesprites
2015-02-03 21:16:33 +00:00
Richard Davey
41d9a42a02 Merge pull request #1565 from abtion/master
Fix CORS loading BitmapFonts with IE9
2015-02-03 21:14:45 +00:00
Richard Davey
66ad09ebd0 Merge pull request #1549 from tomlarkworthy/fixAdjustMass
Bug fix: adjust mass and debug body gfx
2015-02-03 21:12:15 +00:00
Richard Davey
0953e927b4 Merge pull request #1559 from vulvulune/dev
Complete "tsdocs" tasks to download plugins + improve ts doc + grunt:jsdoc
2015-02-03 21:04:30 +00:00
Richard Davey
e6b5806c26 Merge pull request #1581 from jromer94/master
fixed index out of bound error
2015-02-03 20:52:04 +00:00
Richard Davey
ecdbb35009 Merge pull request #1577 from Marchys/patch-4
Correct documentation Emitter.js
2015-02-03 20:51:28 +00:00
Richard Davey
21823f65e3 Merge pull request #1576 from vulvulune/jsdoc
Correct comments
2015-02-03 20:47:32 +00:00
Richard Davey
9efca46021 Merge pull request #1582 from micahjohnston/dev
Fix doc comment on Phaser.Physics.Arcade#getObjectsAtLocation.
2015-02-03 20:45:33 +00:00
Richard Davey
ad9b8ae8e1 Merge pull request #1568 from Bilge/patch-1
Added missing plugins member in Phaser.Game class.
2015-02-03 20:31:26 +00:00
photonstorm
7003b65df6 Added missing properties to the InputHandler prototype, reducing hidden class modifications. 2015-02-03 20:28:18 +00:00
zekoff
0ccd225e08 Allow max of 0 in computeVelocity
Previous method of setting default max did not allow falsey values.
2015-02-03 11:36:53 -06:00
photonstorm
2b74d903d4 jsdoc fix. 2015-02-03 16:17:14 +00:00
photonstorm
ac14edae94 Sound.stop and Sound.destroy now halt a fade tween if in effect. 2015-02-03 16:17:03 +00:00
photonstorm
260490fe06 Fixed issue in PIXI.canUseNewCanvasBlendModes which would create false positives in browsers that supported multiply in Canvas path/fill ops, but not for drawImage (Samsung S5 for example). Now uses more accurate magenta / yellow mix test. 2015-02-03 16:16:25 +00:00
Micah Johnston
34d443153f fix argument name in comment on Phaser.Physics.Arcade#getObjectsAtLocation. 2015-01-30 05:48:34 -07:00
Micah Johnston
401d2fe847 Fix doc comment on Phaser.Physics.Arcade#getObjectsAtLocation. 2015-01-29 18:13:03 -07:00
Bilge
92b89fb549 Added plugins property to Phaser.Game.
Property was previously being declared late without initialization at allocation time.
2015-01-29 22:51:38 +00:00
Josh
755653439a fixed index out of bound error 2015-01-28 23:39:23 -05:00
Andrean Franc
b52b765c53 fix #1551 - detect mouseup on tilesprites 2015-01-28 19:31:36 +01:00
photonstorm
d6ea8fb956 jsdoc updates (spelling mistakes, code formatting, etc) 2015-01-28 17:18:33 +00:00
photonstorm
d37ffe6a8f Sound.fadeTween is now used for Sound.fadeIn and Sound.fadeOut audio tweens.
Sound.stop and Sound.destroy now halt a fade tween if in effect.
2015-01-28 17:18:32 +00:00
vulvulune
d65225e9eb Merge pull request #1 from photonstorm/dev
Update from photonstorm
2015-01-27 16:07:41 +01:00
Marchys
f79d10f378 Correct Documentation Emitter.js
setScale and setAlpha parameter are not numbers (now on dev branch sorry :( )
2015-01-27 15:33:00 +01:00
vulvulune
1aab540a6f Correct comment Phaser.Physics.P2.BodyDebug
Set correct method name in comments
2015-01-27 15:26:05 +01:00
vulvulune
2e49f07b77 Correct comment Phaser.Stage
Replace @name => @method on some functions
2015-01-27 14:05:47 +01:00
vulvulune
8dcd61aebb Correct comments Phaser.ArrayUtils
Replace Phaser.Math => Phaser.ArrayUtils in the comments of the class
Phaser.ArrayUtils
2015-01-27 13:59:15 +01:00
vulvulune
8ef32f044c Correct comments
Correct comments:
-Phaser.Camera: checkWorldBounds =>checkBounds
-Phaser.RetroFont: Set correct @name for name and smoothed
-Phaser.DOM: inViewport => inLayoutViewport
2015-01-27 13:46:18 +01:00
Paul
ad9245caeb TilemapLayer - {missing changes} 2015-01-24 18:37:28 -08:00
Paul
818d5bcdcc Tilemaps - removed N-slice support
- Since N-slicing doesn't work in Safari, which is what the
  double-copy fix is for, it is simply removed.
2015-01-24 18:35:11 -08:00
Paul
4845c2054b TilemapLayer - quibbles
- Removed accidental change
2015-01-24 17:49:20 -08:00
Paul
11c78f11b0 TilemapLayer - Safari fix
- Changed default slice count to 1: this fixes yet another Safari-specific
  issue.
2015-01-24 17:43:08 -08:00
jeppester
b29d2b8b23 Missing semicolons added 2015-01-24 19:48:52 +01:00
jeppester
242e3cc7c3 Indentation errors fixed 2015-01-24 19:43:49 +01:00
jeppester
d7cd76efe7 More cosmetic changes 2015-01-24 18:36:58 +01:00
jeppester
a722293786 Cosmetic pull request preparations 2015-01-24 18:31:02 +01:00
jeppester
067dcc4332 Fix CORS loading BitmapFonts with IE9 2015-01-23 17:17:50 +01:00
vulvulune
7be4b8d7a9 Replace the grunt docs tasks with grunt-jsdoc
Replace builddoc and exportdocjson grunt tasks with grunt-jsdoc.
To avoid an error I added a fake comment to a @todo param in the p2.js
file.
2015-01-22 16:22:51 +01:00
photonstorm
6d967b6545 Error in diffX and diffY calculation in Tilemap.paste (thanks @amelia410 #1446) 2015-01-20 10:49:15 +00:00
photonstorm
a67d2df6f0 BitmapData.text will render the given string to the BitmapData, with optional font, color and shadow settings. 2015-01-18 12:24:00 +00:00
photonstorm
3c2725addc Typo. 2015-01-18 12:24:00 +00:00
photonstorm
587c3e5f6a Arcade.Body.friction allows you to have more fine-grained control over the amount of velocity passed between bodies on collision. 2015-01-18 12:24:00 +00:00
Tom Larkworthy
4b32505383 calling adjust mass desyncs the debug graphics from the real positions of bodies 2015-01-17 21:15:10 -08:00
photonstorm
48f590c180 Added tools links. 2015-01-10 00:30:13 +00:00
photonstorm
0f42b530eb Physics.Arcade.isPaused allows you to toggle Arcade Physics processing on and off. If true the Body.preUpdate method will be skipped, halting all motion for all bodies. Note that other methods such as collide will still work, so be careful not to call them on paused bodies. 2015-01-10 00:30:02 +00:00
photonstorm
801f387f75 Updated docs. 2015-01-08 01:28:38 +00:00
photonstorm
8973423e98 Sprite.frame and AnimationManager.frame wouldn't return the correct index if a sprite sheet was being used unless it had first been set via the setter. 2015-01-08 01:28:38 +00:00
photonstorm
65f8820514 SoundManager.unlock checks for audio start support and falls back to noteOn if not found. 2015-01-06 13:50:15 +00:00
photonstorm
30ef362e59 jsdoc fixes / typos. 2015-01-06 12:58:19 +00:00
photonstorm
413a59c516 Preparing for 2.3.0 development. 2015-01-06 07:24:28 +00:00
photonstorm
74951a41b4 Update for 2.2.2. 2015-01-06 06:20:46 +00:00
Paul
c361e6f535 TilemapLayer - fix for regression typo 2015-01-05 20:37:00 -08:00
photonstorm
4e9291eadc TileSprite.loadTexture crashed when textures were updated in WebGL (thanks @pandavigoureux29 #1495) 2015-01-05 19:00:42 +00:00
photonstorm
741131312a BitmapData.drawGroup draws the immediate children of a Phaser.Group to a BitmapData. Children are only drawn if they have their exists property set to true. The children will be drawn at their x and y world space coordinates. When drawing it will take into account the child's rotation, scale and alpha values. No iteration takes place. Groups nested inside other Groups will not be iterated through.
BitmapData.copy `tx` parameter if `null` and `source` is a Display Object, it will default to `source.x`.

BitmapData.copy `ty` parameter if `null` and `source` is a Display Object, it will default to `source.y`.
2015-01-05 14:28:16 +00:00
photonstorm
4a27130e10 Commented out crashing call. 2015-01-05 13:24:49 +00:00
photonstorm
689501c15c Phaser.Point.angleSq removed. It didn't work so any code relying on it would be broken, and it's unclear what it was meant for (thanks @nextht #1396) 2015-01-05 13:00:07 +00:00
photonstorm
fc63d0a33a Ellipse.right and Ellipse.bottom setters fixed (thanks @nextht #1397)
Fixed double Ellipse.getBounds definition (thanks @nextht #1397)
2015-01-05 12:36:35 +00:00
photonstorm
4bc8fb3c8f Docs update #1489 2015-01-05 11:57:46 +00:00
photonstorm
35c68d4c9e Tidied up Emitter.update. 2015-01-05 11:43:24 +00:00
photonstorm
9f6b7b49e5 Particles.Arcade.Emitter.makeParticles now checks the given quantity value against Emitter.maxParticles. If quantity is more than maxParticles then the maxParticles value is used instead. 2015-01-05 11:22:07 +00:00
Richard Davey
b4678b6b56 Merge pull request #1474 from nextht/remove-tw-and-th-init
Remove tw and th init
2015-01-05 11:15:28 +00:00
Richard Davey
ebf650c1a1 Merge pull request #1498 from pnstickne/wip-tilelayer-safaribug
Fix / double-copy for Safari tilemap bug when rendering with delta scrolling
2015-01-05 11:11:40 +00:00
photonstorm
8cd98e2e36 jsdocs fixes. 2015-01-05 10:59:10 +00:00
Richard Davey
cf83e14e8d Updated Line.reflect to remove intersects check.
Line.normalAngle gets the angle of the line normal in radians.
2015-01-04 12:38:40 +00:00
photonstorm
af15b9b4e7 Line.reflect will calculate the reflected, or outgoing angle of the line and a given line if they intersect. This can be used for Body vs. Line collision responses and rebounds.
Line.normalX and Line.normalY contain the x and y components of the left-hand normal of the line.
Line.fromAngle will sets this line to start at the given `x` and `y` coordinates and for the segment to extend at `angle` for the given `length`.
2015-01-04 05:11:19 +00:00
Richard Davey
b3f322469b Added Events.onEnterBounds to the destroy method (thanks @legendary-mich #1497) 2015-01-02 21:53:20 +00:00
Richard Davey
5e976b9028 Merge pull request #1504 from flashspys/flashspys-dev
minor documentation update
2015-01-02 16:39:13 +00:00
Felix Wehnert
e7d8d29cd9 minor documentation update 2015-01-02 14:02:05 +01:00
photonstorm
15d5b54c26 Removed redundant updateTransform call. 2015-01-02 04:15:27 +00:00
photonstorm
c1eb456ed2 Mouse.mouseMoveCallback is flagged as deprecated. 2015-01-02 04:14:44 +00:00
photonstorm
b22233a0bc docs update and sound marker check. 2015-01-02 04:14:44 +00:00
Richard Davey
97cf7f7581 Merge pull request #1502 from pnstickne/wip-1424-r
Simplified call to updateTransform - unified and verified fix for 1424
2015-01-02 04:13:31 +00:00
Paul
81c872adf1 Simplified call to updateTransform
This change implements the original suggestion of using `updateTransform`,
but applies so globally instead of within a particular postUpdate
function.

Now the game loop calls `updateTransform` after each `updateLogic` call
unconditionally; it is updates that change the world that are accounted
for, not the rendering. This removes some previous checks that were
preventing correct behavior with the previous patch.

This makes the assumption that game objects (eg. Sprites) are only
modified within callbacks triggered before the completion of the
`postUpdate` walking of the scene graph.
- User code that runs outside of the "game update", such as a `setTimeout`
  timer, will need to explicitly update transformations so that the world
  is synced by the next `preUpdate`: but this is not the expected case and
  is already outside the Phaser update model.
- If this assumption does not hold or is too weak, the transformations
  could also be applied once at the start of every game update loop
  (before any render or update). This change would at most double the time
  spent on apply the transformations.

The constant application of `updateTransform` passes all reported failing
cases and resolves #1424 just as the original proposal of having the
change performed in the Sprite postUpdate but will work more consistently
across all scene-bound game objects.

On a desktop Chrome browser the inclusion also has minimal relative impact
as shown by the summarized results. The percentages given are the summed
CPU time of relevant required operations along with that of the
updateTransform itself:

- 10,000 non-collision particles:
  - 12% pre/post update, 2.4% updateTransform
- 100 colliding particles:
  - 2% pre/post update & collision, 0.3% updateTransform
- 1000 colliding particles:
  - 40% pre/post update & collision, 1% updateTransform

With this patch the updateTransform time does creep up _slightly_ (vs just
in `Sprite.postUpdate`) but it is still dominated by required game
updates, and more so, by any actual work like Physics.
2015-01-01 18:01:23 -08:00
Paul
2bbbc64830 Device update for canvasBitBltShift - real
(Previous changeset not pushed correctly)
2015-01-01 17:38:22 -08:00
Paul
7213bb1b5e Device update for canvasBitBltShift
The `canvasBitBltShift` detection is updated not to pick up any iOS
browsers. This should eliminate false-positives for Chrome for iOS, eg.

Defaulting to using the double-copy is "safer", even if slightly less
optimal.

(A proper feature check should still be added.)
2015-01-01 16:16:13 -08:00
Richard Davey
725fe261be Merge pull request #1500 from pnstickne/wip-1494
Fix for Event changes
2015-01-01 22:25:48 +00:00
Paul
a070e8db8f Fix for Event changes
This replaces 'eval' with closures (that should have probably
been used to begin with) to avoid warnings generated by some tools.

This change does not affect the approach used.

- Ref. #1494
2015-01-01 13:50:07 -08:00
Richard Davey
da27373c90 Device.webAudio check inversed to avoid throwing a warning in Chrome. 2015-01-01 21:38:02 +00:00
Richard Davey
3c4a9720c6 Body updateTransform patch re: #1493 and #1490 2015-01-01 12:33:43 +00:00
Paul
114d967272 TilemapLayer - quibbles
- Updated shiftCanvas usage for consistency with renderSetting access
2014-12-31 10:06:48 -08:00
Paul
76aa601d47 TilemapLayer rendering double-copy
- Memory optimization of delta-scroll shifting.
  - The copy canvas is shared between all TilemapLayers
  - The copy is done in segments to reduce the memory usage of the copy
  canvas. Currently this is a 1/4 ratio.

- Device has the feature (by browser) check to see if bitblt works
  - TilemapLayer will automatically enable the double-copy as needed
  - Device.whenReady can be used to override the device value
2014-12-31 09:54:37 -08:00
Paul
0ad21e3c84 Merge remote-tracking branch 'upstream/dev' into wip-tilelayer-safaribug 2014-12-30 23:07:55 -08:00
Jouni Airaksinen
11cf7c4923 Fix floating point inaccuracy in edge cases, behavior not consistent across different browsers and/or devices 2014-12-29 14:38:18 +02:00
nextht
18b3a3cc5b Remove useless initilization for tw and th code
tw and th have been initialized twice, the first time is useless.
2014-12-20 17:45:27 +08:00
photonstorm
fa40b3a7a9 Removed readyState check as it breaks overlapping sounds. 2014-12-18 11:14:45 +00:00
photonstorm
a6c6bf8e06 Time.reset would incorrectly reset the _started property, now maps it to Time.time (thanks @XekeDeath #1467) 2014-12-18 08:07:38 +00:00
nextht
aa80074ec1 Emitter.start should Setting quantity Not Adding
I think Emitter.start should Setting quantity Not Adding, maybe "+=" is a mistake?
2014-12-17 22:39:11 +08:00
photonstorm
eff9759f8c Updated to Pixi 2.2.0 release. 2014-12-17 13:50:28 +00:00
photonstorm
c6c5856dec Phaser.Graphics.drawCircle now overrides PIXI.drawCircle which means the docs are now correct re: diameter not radius (thanks @ethankaminski #1454) 2014-12-17 13:44:12 +00:00
photonstorm
f23c0aa24b Removed redundant tolerance parameter from Rectangle.intersects (thanks @toolness #1463) 2014-12-17 13:25:21 +00:00
photonstorm
ef610c7c10 Added init to State template class. 2014-12-17 13:07:19 +00:00
photonstorm
269af69da5 Added extra checks to Sound.play to stop it throwing DOM Exception Error 11 if the sound.readyState wasn't set or the sound was invalid. Also wrapped stop() call in a try catch`. 2014-12-17 13:07:19 +00:00
aressler38
c9984633b5 fixing documentation typo 2014-12-15 14:12:09 -08:00
aressler38
f1bdd174b2 [ISSUE 1458] Allow BLOB urls when loading audio files 2014-12-15 12:57:30 -08:00
aressler38
5f12e18aa0 Merge branch 'dev' of https://github.com/aressler38/phaser into dev 2014-12-15 12:08:24 -08:00
photonstorm
9b967d1948 Removed a few more references in Animation.destroy. 2014-12-15 09:42:18 +00:00
photonstorm
5029427e14 Tween.stop fired a different set of onComplete parameters to Tween.update. Both now dispatch onComplete(target, tween) as the parameters in that order (thanks @P0rnflake #1450) 2014-12-15 09:42:18 +00:00
Paul
b3808890b2 RandomDataGenerator seeding fix
Per https://github.com/photonstorm/phaser/issues/1457 the `sow` function
terminates too early on certain false-y values including 0 (and possibly
"").

This changes that, so that 1) only `undefined` and `null` will terminate
the seed sequence processing (this is to maximize backwards compatibility)
and 2) the `length` of the array is honored.

The documentation also reflects the old (and new/altered) behavior.

This is very minor breaking change; hopefully such is mitigated with
leaving in the null/undefined termination.
2014-12-15 00:18:23 -08:00
Paul
466b021ca0 TilemapLayer: Re-added secondary copy-canvas
- This change uses a secondary canvas and rectangle clearing instead of a
  'copy' composition on the same canvas. This should hopefully address
  the flickering issue in Safari and Safari Mobile
2014-12-12 00:26:49 -08:00
photonstorm
965fbc96e7 Typo fixes :) 2014-12-11 22:30:24 +00:00
photonstorm
3c564a33b6 The P2 World constructor wouldn't let you use your own config unless you specified both the gravity *and* broadphase. Now allows one or both (thanks @englercj #1412) 2014-12-11 22:04:45 +00:00
photonstorm
4abb1550d7 P2.postBroadphaserHandler updated to avoid skipping final 2 pairs. 2014-12-11 22:00:06 +00:00
Richard Davey
bc1a24e970 Merge pull request #1429 from pnstickne/wip-1400
DOM.visualBounds now includes scrollbars
2014-12-11 21:58:55 +00:00
Richard Davey
091cb93ccd Merge pull request #1417 from pnstickne/wip-1410
Fixes #1410 where newChild.parent could be set to undefined before use
2014-12-11 21:52:55 +00:00
paul-reilly
ce603c3510 TilemapParser: fixed check for image collection 2014-12-10 22:42:17 +00:00
Richard Davey
9ef87ad395 Merge pull request #1428 from pnstickne/wip-1422-vertical-align
ScaleManager documentation updates
2014-12-10 17:16:46 +00:00
photonstorm
028943baad Moved the updateTransform to a Game level update on Stage and replaced the Pixi version.
Added a boolean check, so it can be either updated from updateLogic or render without duplicating the process.
#1424
2014-12-10 10:37:37 +00:00
Paul
92a20a5f5f TileLayer - globalCompositionOperation set once
This might fix a safari issue; it also avoids repeatedly setting the
[same] composition operation and saving/loading context states.
2014-12-09 20:21:31 -08:00
photonstorm
4ad6df9a29 A test to try for #1424 2014-12-09 23:38:23 +00:00
photonstorm
22e8340df7 Fixes issue where Pixi CanvasTint didn't allow for browsers that bit-shift the alpha value on putImageData (Android Stock Browser, I'm looking at you!) 2014-12-09 15:27:26 +00:00
Paul
8b513b842c DOM.visualBounds now includes scrollbars
- While not ideal this fixes most (if not all) of the ScaleManager issue
  pointed out in #1400. This issue should be addressed later. As of now,
  as an interim fix, this avoids the reported issue entirely (or at least
  I have not been able to reproduce it), as well as assorted artifacts
  when resizign a window while scaling.

- The is is the 2.1 behavior: In certain cases this can result in the
  right or bottom of the Game being cut-off slightly (the width of a
  scrollbar) instead of scaled, which is why it was originally changed.
2014-12-08 18:40:00 -08:00
Paul
6764517823 ScaleManager documentation updates
- Clarified proper usage of `pageAlignVertically` and add note about 2.2
  change and how to obtain 2.1 behavior.

- Removed the `@readonly` status of the `parentIsWindow` and `parentNode`;
  these can be updated in a controlled manner.

- Added intra-hyperlinks

- Updated some ancillary documentation
2014-12-08 18:06:26 -08:00
Richard Davey
1bf3f08d8d Merge pull request #1420 from pnstickne/wip-1406
Fix Full Screen launching in Android Chrome
2014-12-07 11:33:52 +00:00
photonstorm
38a224df3e Tween.delay, Tween.repeat and Tween.yoyo will no longer throw an error if called before a TweenData object has been created (via Tween.to or Tween.from) (thanks @SomMeri #1419) 2014-12-07 11:31:48 +00:00
Paul
388ab1d98b Fix Full Screen launching in Android Chrome
The click trampoline added for IE prevents Chrome for Android from being
able to launch Full Screen mode with the default parameters for
`ScaleManger#startFullScreen`. (The desktop version of Chrome is not
affected.)

This fix adds an additional compatibility settings (`clickTrampoline`)
that can be used to configure when such is used. By default the
'when-not-mouse' mode is only enabled for Desktop browsers, where the
primary input is ubquitously a mouse.

There are no known breaking compatibility changes - the Full Screen should
be initiatable in Chrome for Android as it was in 2.1.x. The default
Android browser does not support Full Screen.
2014-12-06 12:30:40 -08:00
Paul
fe8c5021fa Fixes #1410
As pointed out, `newChild.parent` could be accessed after it was set to
undefined. This fix unifies the code from the various `destroy` methods so
the previou issue does not occur.
2014-12-05 19:34:17 -08:00
photonstorm
e7f3b9188e Preparing for Phaser 2.2.2 development. 2014-12-04 11:49:53 +00:00
photonstorm
62b7fce9c8 Merge remote-tracking branch 'origin/dev' 2014-12-04 11:40:58 +00:00
photonstorm
a3533b9b75 Phaser 2.2.1. 2014-12-04 11:31:41 +00:00
photonstorm
b0d8e43128 And Pixi fixed the premult alpha issue properly. Back in again! 2014-12-03 21:20:41 +00:00
photonstorm
847cde81a9 Custom Particle classes that used a BitmapData wouldn't work (thanks @hardalias #1402) 2014-12-03 20:59:44 +00:00
photonstorm
3371f9ff1e Added Game.debug reset method for when the debug manager is disabled (thanks @DanielSitarz #1407) 2014-12-03 20:56:39 +00:00
photonstorm
b05d745c40 Reverted changes as they broke all alpha support. Will put back once fixed in Pixi. 2014-12-03 20:54:25 +00:00
John Watson
fcca6ba730 Fixed TweenManager.isTweening() and .removeFrom()
Updated invalid reference Tween._object to .target
2014-12-03 10:20:29 -08:00
photonstorm
e271c63ca6 Preparing for Phaser 2.2.1. 2014-12-03 13:41:48 +00:00
photonstorm
d8fee414b8 Merge remote-tracking branch 'origin/dev' 2014-12-03 10:40:35 +00:00
photonstorm
1d6fd31bd7 Phaser 2.2.0. 2014-12-03 09:34:51 +00:00
photonstorm
eb6a09ca0a Pixi update. 2014-12-03 09:18:43 +00:00
photonstorm
84e845db71 Various doc fixes. 2014-12-03 03:19:25 +00:00
photonstorm
3018eaece9 Setting forceMinimumDocumentHeight default to false. This is an iOS edge-case and messes with desktop browsers.
Fix #1399
2014-12-02 14:37:07 +00:00
photonstorm
9d79605447 Pixi 2.2.0 merged. 2014-12-02 11:01:57 +00:00
photonstorm
35e2893db4 Game.lockRender is a new property. If false Phaser will automatically render the display list every update. If true the render loop will be skipped. You can toggle this value at run-time to gain exact control over when Phaser renders. This can be useful in certain types of game or application. Please note that if you don't render the display list then none of the game object transforms will be updated, so use this value carefully. 2014-12-02 09:03:55 +00:00
photonstorm
def662f28f Text.setShadow has had the default color value changed from rgba(0,0,0,0) to rgba(0,0,0,1) so it appears as a black shadow by default - before the alpha channel made it invisible. 2014-12-02 09:03:55 +00:00
photonstorm
03ebb8d11c Docs update. 2014-12-02 09:03:55 +00:00
photonstorm
2380d1827b Updated to latest Pixi dev branch. 2014-12-02 09:03:55 +00:00
Paul
fb9eab76e7 Utils - cleanup
- Updated linked documentation

- Also updated `removeRandomItem` per the contract and for consistency with
  `getRandomItem`.
2014-12-01 23:19:32 -08:00
Paul
bdacef8170 ArrayUtils - minor corrections
- Corrected off-by-one issue; the effect is the same but it is arguably
  more correct.

- Fixed getRandomItem; it would previously return null for false'y values
  (false/''/0) which was against the defined contract.

- Updated documentation / documented types
2014-12-01 23:06:06 -08:00
Richard Davey
152b26a668 Merge pull request #1378 from pnstickne/wip-minor-updatelogic-fix
Minor logic fix for Sprite life update
2014-12-01 12:07:56 +00:00
Richard Davey
81f356c235 Merge pull request #1386 from pnstickne/wip-docs-1130
Assorted documentation/consistency updates
2014-12-01 12:07:10 +00:00
Paul
d15037e283 Event-Signal object count optimization
There are a bunch of signals added for Sprites; more when input is
enabled. However, very few of these signals are ever actually used. While
the previous performance update related to Signals addressed the size of
each Signal object, this update is to reduce the number of Signal objects
as used by the Events type.

As a comparison the "Particle: Random Sprite" demo creates 3200+ Signals;
with this change there less than 70 signals created when running the same
demo. (Each Event creates at 8 signals by default, and there is an Event
for each of the 400 particles.) While this is an idealized scenario, a
huge amount (of albeit small) object reduction should be expected.

It does this by creating a signal proxy property getter and a signal
dispatch proxy. When the event property (eg. `onEvent`) is accessed a new
Signal object is created (and cached in `_onEvent`) as required. This
ensures that no user code has to perform an existance-check on the event
property first: it just continues to use the signal property as normal.

When the Phaser game code needs to dispatch the event it uses
`event.onEvent$dispath(..)` instead of `event.onEvent.dispatch(..)`. This
special auto-generated method automatically takes care of checking for if
the Signal has been created and only dispatches the event if this is the
case. (If the game code used the `onEvent` property itself the event
deferal approach would be defeated.)

This approach is designed to require minimal changes, not negatively
affect performance, and reduce the number of Signal objects and
corresponding Signal/Event resource usage.

The only known user-code change is that code can add to signal (eg.
onInput) events even when input is not enabled - this will allow some
previously invalid code run without throwing an exception.
2014-11-30 21:39:25 -08:00
Paul
bedab931a9 Documentation - Signal 2014-11-30 15:56:20 -08:00
Paul
b66a32e3a1 Documentation - number refinement
Changed some {number} types to {integer} where such is trivially
verifiable.
2014-11-30 15:22:39 -08:00
Paul
fa95c53631 Documentation - Group
- Merged in group doc updates

- Added a DisplayObject stub type for better link-out across documentation
2014-11-30 15:13:55 -08:00
Paul
5645690174 General docs - reverting src/pixi changes
(Because outside of control, really.)
2014-11-30 13:04:02 -08:00
Paul
8b1c7625d4 Documentation - typo fix 2014-11-30 04:05:23 -08:00
Paul
dab8772de0 Documentation - consistency updates
- Updated `readOnly` doclet to `readonly`

- `array` refined to `type[]`, where such information was immediately
determinable.

- Updated {Any}/{*} to {any}; {...*} is standard exception

- Udated {Object} to {object}
2014-11-30 04:03:35 -08:00
photonstorm
cfbad72881 Documentation - general
Updated some documentation for formatting, consistency, and minor
corrections.
2014-11-30 04:02:45 -08:00
Paul
3299588326 Sprite - removed comment
The comment was no longer valid after the previos changes.
2014-11-29 14:12:14 -08:00