Richard Davey
3fab1ce385
Working through the Pixi globals and removing them.
2016-10-07 03:21:39 +01:00
Richard Davey
f6047763fa
Fixed Graphics rendering.
2016-10-07 02:53:34 +01:00
Richard Davey
ea9c9ae7b3
Removed gl texture ID.
2016-10-07 00:59:10 +01:00
Richard Davey
4cd0e833d5
Sorted out the mixin needed for the Canvas renderer.
2016-10-05 01:09:23 +01:00
Richard Davey
047a994334
Canvas and WebGL rendering Text again.
2016-10-04 22:47:05 +01:00
Richard Davey
28eb7a5f40
Adding in more renderer game objects.
2016-10-04 22:36:07 +01:00
Richard Davey
d55cc215ee
Moving more rendering functionality over.
2016-10-04 00:58:52 +01:00
photonstorm
1da95994a5
First pass of the newly re-structured Canvas Renderer (still using old texture system though).
2016-10-03 12:44:54 +01:00
Richard Davey
0aa6650422
Re-arranged methods and added parent.
2016-09-29 03:10:16 +01:00
Richard Davey
5cb7cc8e92
Start of the new Children component.
2016-09-29 02:29:56 +01:00
Richard Davey
6ce28658f6
PIXI.Float32Array, PIXI.Uint16Array, PIXI.Uint32Array and PIXI.ArrayBuffer have all been removed, and replaced with their own proper native versions. The polyfill now captures any instances where the browser needs to fall back to an Array instead.
2016-09-28 19:02:59 +01:00
photonstorm
c836d4bfbd
PIXI.PI_2, PIXI.RAD_TO_DEG and PIXI.DEG_TO_RAD have all been removed, as they are no longer used internally, and are all available under Phaser.Math.
...
PIXI.VERSION has been removed, as it's no longer relevant and misleading.
2016-09-28 16:57:08 +01:00
photonstorm
f9a2c2a79e
PIXI.Graphics and PIXI.GraphicsData have been removed, and all functionality merged in to Phaser.Graphics, to cut down on the number of internal classes and inheritance going on.
...
WebGLGraphics and CanvasGraphics have been updated so that it checks for Phaser Geometry shape types internally.
2016-09-28 16:42:33 +01:00
photonstorm
69db3632d6
PIXI.Rope and PIXI.Strip have been removed, and all functionality merged in to Phaser.Rope, to cut down on the number of internal classes and inheritance going on.
2016-09-28 15:10:43 +01:00
photonstorm
879bcffc88
Removed PIXI.Utils and remapped functions to their new locations.
2016-09-28 14:02:02 +01:00
photonstorm
1e15012a91
PIXI.CanvasPool has been moved into the Phaser utils
folder, and renamed to Phaser.CanvasPool
. All references to PIXI.CanvasPool have been updated to match the new namespace.
2016-09-28 12:53:04 +01:00
photonstorm
508e5ae723
PIXI.TilingSprite has been removed, and all functionality merged in to Phaser.TileSprite, to cut down on the number of internal classes and inheritance going on.
2016-09-28 11:57:11 +01:00
Richard Davey
2005c9d86d
PIXI.RenderTexture has been removed, and all functionality merged in to Phaser.RenderTexture, to cut down on the number of internal classes and inheritance going on.
2016-09-28 01:40:29 +01:00
Richard Davey
1d7b54b7d4
Merged Sprite Batch updates.
2016-09-27 23:22:26 +01:00
Richard Davey
41ad0873d4
Fixing the Sprite Batch.
2016-09-27 23:20:38 +01:00
Richard Davey
2bc9c73838
The Video.playing property didn't check to see if the Video existed, and would throw the error Uncaught TypeError: Cannot read property 'paused' of null
if you called it after destroying the video (thanks @Tetley #2740 )
2016-09-26 23:35:41 +01:00
Richard Davey
0692bf01b5
If you called Video.changeSource, and then immediately called Video.play after it, it would fire the onComplete
event twice (thanks @jaraiza #2543 )
2016-09-26 23:28:41 +01:00
Richard Davey
f331697fee
Text.splitRegExp is a new property that allows you to control the regular expression that is used to split the text into multiple lines (@dai-shi #1403 )
2016-09-26 22:35:54 +01:00
Richard Davey
feb1b980c0
Text.width and Text.height now divide the result by the Text.resolution, to avoid incorrect dimensions on High DPI devices (thanks @mattahj #2146 )
2016-09-26 22:22:31 +01:00
Richard Davey
3f4decd59e
First pass at adding rotated atlas frame support in to the Canvas renderer.
2016-09-20 00:53:00 +01:00
photonstorm
a84021679b
Tidied up how crop destroys itself.
2016-08-25 16:41:26 +01:00
photonstorm
94a0dbe547
Text.updateText now sets Text.dirty = false
, which stops Text objects from having updateText
called twice on them after creation.
2016-08-25 14:16:48 +01:00
Richard Davey
d8cb40aa5e
Merge pull request #2700 from kjav/patch-2
...
Fixed typo in TileSprite.js comment
2016-08-25 13:04:31 +01:00
photonstorm
cbef6d6648
Formatting fix.
2016-08-22 18:38:40 +01:00
photonstorm
4382944a2e
A tinted Texture in Canvas mode wouldn't be updated properly if it was also cropped, beyond the initial crop. Now a cropped texture will re-tint itself every time the crop is updated, and has changed (thanks @phoenixyjll #2688 )
2016-08-18 15:55:13 +01:00
kjav
314b088975
Fixed typo in TileSprite.js comment
...
Changed typo 'etch' in TileSprite.js to 'etc'. Related to pull request #2699
2016-08-18 15:40:19 +01:00
Richard Davey
a4de55c419
Merge pull request #2685 from valent-novem/dev
...
Fix rendering text with bounds and resolution
2016-08-16 21:12:57 +01:00
Richard Davey
49e40fc2d4
Typo
2016-08-16 20:59:59 +01:00
Sergey Z
68fe8b8058
Fix rendering text with bounds and resolution
2016-08-08 16:51:07 +03:00
Richard Davey
a0c6ae6c51
Phaser.Image now has the ScaleMinMax component.
2016-08-03 05:00:09 +01:00
Richard Davey
ce764e098d
As a result of changes in #2573 Graphics objects were calling updateLocalBounds
on any shape change, which could cause dramatic performances drops in Graphics heavy situations ( #2618 ). Graphics objects now have a new flag _boundsDirty
which is used to detect if the bounds have been invalidated, i.e. by a Graphics being cleared or drawn to. If this is set to true then updateLocalBounds
is called once in the postUpdate
method (thanks @pengchuan #2618 )
2016-07-23 12:52:35 +01:00
Richard Davey
b405570833
Docs fix #2624
2016-07-17 11:26:09 +01:00
Tomáš Blatný
2b90f2cb3b
BitmapData.js: fixed fluent interface
2016-07-15 20:16:35 +02:00
Richard Davey
4548d70369
Experimenting with new MainLoop + position interpolation. (reverted from commit e49d45e278
)
2016-07-13 02:44:35 +01:00
Richard Davey
e49d45e278
Experimenting with new MainLoop + position interpolation.
2016-07-12 03:05:29 +01:00
photonstorm
ee202667ed
Huge docs update for all of the Game Object events.
2016-07-08 11:28:30 +01:00
Richard Davey
0014201917
Groups now have the following properties, which are getters and setters: centerX
, centerY
, left
, right
, top
and bottom
. These calculate the bounds of the Group, based on all visible children, and then allow you to apply positioning based on that. This means you can, for example, now get the horizontal center of a Group by called Group.centerX
. These properties are also setters, so you can position the Groups, and it will take scale and rotation into consideration.
...
Groups have a new method `alignIn`. It allows you to align the Group within another Game Object, or a Rectangle. You can specify one of 9 positions which are the new position constants such as: `Phaser.TOP_LEFT` or `Phaser.CENTER` (see docs for the complete list). The Groups are positioned based on their child bounds, which takes rotation and scaling into consideration. You can easily place Groups into the corners of the screen, or game world, or align them within other Sprites, using this method.
Groups have a new method `alignTo`. It allows you to align a Group to the side of another Game Object, or a Rectangle. You can specify one of 11 positions which are the new position constants such as: `Phaser.TOP_LEFT` or `Phaser.LEFT_BOTTOM` (see docs for the complete list). The Groups are positioned based on their child bounds, which takes rotation and scaling into consideration. You can easily align Groups next to other Sprites using this method.
2016-07-08 01:33:42 +01:00
Richard Davey
c4d7870a31
* PIXI.Texture.fromImage, PIXI.BaseTexture.fromImage and PIXI.Sprite.fromImage have all been removed. They should never have actually been used, as they bypass the Phaser Loader, and don't factor in CORs or any other advanced loader settings.
...
* The PIXI.BaseTexture.imageUrl property has been removed, as it was never actually populated.
* The PIXI.BaseTexture._UID property has been removed, as it was never actually used internally.
* All references to PIXI.BaseTextureCache have been removed (primarily from BaseTexture.destroy and Texture.destroy), as the BaseTextureCache was never used internally by Phaser, or by our custom version of Pixi.
* PIXI.TextureCache has been removed. It was only ever used by the __default and __missing images that Phaser generates on start-up. It wasn't used internally by Phaser anywhere else, and the only references Pixi has to it have all been removed. If you need it in your own game, please refactor it to avoid it, or re-create the object on the PIXI global object.
* Canvases created by `BaseTexture.fromCanvas` no longer have the `_pixiId` property attached to them, as this was never used internally by Phaser or Pixi.
* PIXI.BaseTexture.updateSourceImage is now deprecated. Please use `Sprite.loadTexture` instead.
* The property PIXI.BaseTextureCacheIdGenerator has been removed, as it is no longer used internally by Phaser or Pixi.
* PIXI.Texture.addTextureToCache has been removed. The PIXI Texture Cache was never actually used by Phaser, and was leading to complications internally.
* PIXI.Texture.removeTextureFromCache has been removed. The PIXI Texture Cache was never actually used by Phaser, and was leading to complications internally.
* PIXI.Texture.fromFrame and PIXI.Sprite.fromFrame have been removed. They relied on the PIXI Texture Cache, which was never actually used by Phaser, and was never used internally by Pixi either.
* The property PIXI.TextureCacheIdGenerator has been removed, as it was not used internally.
* The property PIXI.FrameCache has been removed, as it was not used internally.
2016-07-06 21:47:27 +01:00
Richard Davey
33150018ad
Text.fontPropertiesCanvas no longer uses a CanvasPool entry.
2016-07-06 20:59:28 +01:00
photonstorm
0036bf747f
BitmapData has a new, optional, fifth argument: skipPool
. By default BitmapData objects will ask for the first free canvas found in the CanvasPool, but this behavior can now be customized on a per object basis.
2016-07-04 12:57:08 +01:00
photonstorm
32bec66031
Docs update.
2016-06-29 16:18:54 +01:00
Richard Davey
a0c771d47e
Text.setText has a new optional argument immediate
which will re-create the texture immediately upon call, rather than wait for the next render pass to do so (thanks @Scraft #2594 )
2016-06-27 22:42:01 +01:00
Richard Davey
8c5cea066a
Updated docs.
2016-06-23 00:45:24 +01:00
photonstorm
bd30181a2a
Docs update.
2016-06-20 12:18:39 +01:00
photonstorm
47f0224a40
Phaser 2.4.9 release.
2016-06-17 01:11:24 +01:00
photonstorm
9dd745167c
Docs fix.
2016-06-16 17:18:49 +01:00
photonstorm
4da3b15ae2
Renamed alignTo to alignIn, and added the new method alignTo, to allow for Sprite to Sprite alignment. Updated all of the Bounds and TS defs.
2016-06-16 17:01:51 +01:00
photonstorm
5bcf84f5a4
Added offsetX and offsetY arguments to Bounds.alignTo.
2016-06-16 15:51:12 +01:00
Richard Davey
ed8fbd9a6c
All Game Objects with the Bounds component; which includes Sprites, Images, Text, BitmapText, TileSprites and anything that extend these, now have a new method alignTo
. It allows you to align the Game Object to another Game Object, or a Rectangle. You can specify one of 9 positions which are the new constants: Phaser.TOP_LEFT
, Phaser.TOP_CENTER
and so on (see above for the complete list). The Game Objects are positioned based on their Bounds, which takes rotation, scaling and anchor into consideration. You can easily place Sprites into the corners or the screen or game world, or align them against other Sprites, using this method.
2016-06-16 02:00:46 +01:00
Richard Davey
0efcf68b21
The Game Object Bounds component has been updated to include two new properties: centerX
and centerY
. This means you can, for example, now get the horizontal center of a Sprite by called Sprite.centerX
. These properties are also setters, so you can position the Game Objects, and it will take scale and anchor into consideration.
2016-06-16 01:00:11 +01:00
Richard Davey
123e61c018
The Game Object Bounds component has been updated so that it now provides setters for all of the properties, as well as getters. Previously Sprite.left
, Sprite.right
, Sprite.top
and Sprite.bottom
were read-only, but they are now available to be set as well, and take into consideration the anchor and scale of the Game Objects.
2016-06-16 00:33:48 +01:00
photonstorm
bc00c900e9
BitmapData.smoothProperty is a new property that holds the string based prefix needed to set image scaling on the BitmapData context.
...
BitmapData.copyTransform allows you to draw a Game Object to the BitmapData, using its `worldTransform` property to control the location, scaling and rotation of the object. You can optionally provide
BitmapData.drawGroup now uses the new `copyTransform` method, to provide for far more accurate results. Previously nested Game Objects wouldn't render correctly, nor would Sprites added via `addChild` to another Sprite. BitmapText objects also rendered without rotation taken into account, and the Sprites smoothing property was ignored. All of these things are now covered by the new drawGroup method, which also handles full deep iteration down the display list.
2016-06-14 15:29:56 +01:00
photonstorm
fb3f7721cb
Working through updating BitmapData.copy to use the source matrix instead, so it retains the correct draw sequence order.
2016-06-13 17:01:33 +01:00
Richard Davey
a180882d27
Fixed the data object not being created.
2016-06-06 00:31:46 +01:00
photonstorm
96711f4db9
Added the Weapon Plugin and worked lots on its docs.
2016-06-03 15:09:43 +01:00
Richard Davey
097add1aa6
Game Objects including Sprite, Image, Particle, TilemapLayer, Text, BitmapText and TileSprite have a new property called data
. This is an empty Object that Phaser will never touch internally, but your own code, or Phaser Plugins, can store Game Object specific data within it. This allows you to associate data with a Game Object without having to pollute or change its class shape.
2016-06-03 01:08:32 +01:00
photonstorm
a81fe3cf02
jshint fixes.
2016-06-02 15:38:05 +01:00
photonstorm
21b5492e98
Video.onComplete wouldn't fire on iOS if the user hit the 'Done' button before the video had finished playing. It now uses the webkitendfullscreen
event to detect this, and dispatches the onComplete
signal should that event fire (thanks @kelu-smiley #2498 )
2016-06-02 15:26:11 +01:00
Richard Davey
56cc7dc155
Merge pull request #2519 from TadejZupancic/patch-1
...
Fixing measurement of text width that produced too narrow canvas
2016-06-02 14:53:17 +01:00
TadejZupancic
317c85db90
Fixing measurement of text width that produced too narrow canvas
...
When using a style on characters (e.g. addColor), the length of the whole line with default style was measured ignoring the different width of the characters with added style.
I've included the measureLine function, which does the same measurements as updateLine, but it does not render the line to canvas - it only returns the line length.
Now this function is used for measuring line of text if some style is added to it.
2016-06-02 11:10:40 +02:00
kevinleedrum
c1a2970488
Fixing issue #2496 : Wrapped BitmapText not centering
2016-05-24 09:09:38 -04:00
photonstorm
a6a2c61240
Sprites that had a tint on them, that then had their frame changed via either Sprite.frame
or Sprite.frameName
wouldn't re-tint the new frame, and would become stuck on the old frame in Canvas mode (thaks @spayton #2453 )
2016-05-17 21:04:40 +01:00
photonstorm
4fd2524c61
Text.setStyle has a new argument update
which will optionally automatically call updateText
after setting the new style (thanks @staff0rd #2478 )
2016-05-16 12:55:27 +01:00
photonstorm
f34b567295
BitmapData.copy, and by extension any method that uses it, including BitmapData.draw, drawGroup and drawFull, now all support drawing RenderTexture objects. These can either be passed directly, or be the textures of Sprites, such as from a call to generateTexture.
2016-05-12 03:48:14 +01:00
photonstorm
1d18c70371
BitmapData.drawGroupProxy is now capable of iterating through Sprites that have children, and also now uses the world positions for drawing instead.
2016-05-11 16:38:42 +01:00
photonstorm
1adece490a
Docs update.
2016-05-04 02:02:13 +01:00
Lewis Pollard
719b4bb7f6
Alter BitmapText to use toString on text parameter in constructor
...
The BitmapText property accessor for the text property uses toString on the value passed in, meaning Numbers can be passed in as the text value with no problem. However, passing a Number into the constructor results in the following exception as it isn't implicitly converted to a string in a similar manner.
phaser.js:71890 TypeError: text.substr is not a function
at Phaser.BitmapText.updateText (http://localhost/phaser/build/phaser.js:56283:21 )
at new Phaser.BitmapText (http://localhost/phaser/build/phaser.js:56034:10 )
at Phaser.GameObjectFactory.bitmapText (http://localhost/phaser/build/phaser.js:46318:26 )
at Object.Boot.create (http://localhost/phaser/:46:34 )
at Phaser.StateManager.loadComplete (http://localhost/phaser/build/phaser.js:29240:35 )
at Phaser.Loader.finishedLoading (http://localhost/phaser/build/phaser.js:71446:25 )
at Phaser.Loader.processLoadQueue (http://localhost/phaser/build/phaser.js:71403:18 )
at Phaser.Loader.asyncComplete (http://localhost/phaser/build/phaser.js:71476:14 )
at Phaser.Loader.xmlLoadComplete (http://localhost/phaser/build/phaser.js:72413:14 )
at .<anonymous> (http://localhost/phaser/build/phaser.js:72236:34 )
This simply mimics the logic in the property accessor by running toString on the text value and using an empty string if null to allow Numbers to be passed into the constructor.
2016-04-13 15:24:29 +01:00
photonstorm
b9f62e77e6
You can now pass a TilemapLayer as a Texture to a TileSprite. A limitation of this is that if you pass it to a TileSprite it will make a fill pattern from the TilemapLayer at that instant it's passed, and it won't keep track of the layer in future should it update (thanks @jdnichollsc #1989 )
2016-04-07 03:45:21 +01:00
photonstorm
fc7b5c79e3
Graphics objects can now have a Physics Body directly attached to them, where-as before it would throw an error due to a lack of anchor property (thanks @NLilley #2400 )
2016-04-07 00:14:41 +01:00
photonstorm
0945083a4b
Removed further mentions of RenderTexture re: TileSprite.
2016-04-06 23:58:34 +01:00
photonstorm
b3757ed862
jsdocs update #2384
2016-04-06 02:33:29 +01:00
Richard Davey
71056ccb69
Merge pull request #2371 from stoneman1/dev
...
Fixed video for future
2016-04-06 01:08:22 +01:00
photonstorm
4d69b13977
Passing a BitmapData to a TileSprite as a texture would fail if the BitmapData had not been previously added to the cache. It now uses the new frameData property (thanks @mzamateo @lucap86 #2380 )
2016-04-06 00:44:55 +01:00
photonstorm
c33b53fa95
BitmapData has a new property frameData
which is a Phaser.FrameData container instance. It contains a single Frame by default, matching the dimensions of the entire BitmapData, but can be populated with additional frames should you wish to create animations from dynamic BitmapData textures.
2016-04-06 00:43:21 +01:00
photonstorm
f9949166be
Text that used fonts which had numbers in their names wouldn't be correctly rendered unless you explicitly set the font property after creation. You can now pass font names with numbers in them as the font style object correctly (thanks @And-0 #2390 )
2016-04-04 23:20:04 +01:00
photonstorm
bc4b828b51
BitmapData.copy, and by extension draw, drawFull, drawGroup, etc, would incorrectly handle drawing a tinted Sprite if it was using a frame from a texture atlas (thanks @PhaserDebugger #2405 )
2016-04-04 22:53:13 +01:00
photonstorm
f40cfbe2ae
2015 - 2016.
2016-04-04 22:16:16 +01:00
photonstorm
12f3bd6cc5
The Destroy component will now call TweenManager.removeFrom, removing any active tweens from the TweenManager upon the Game Objects destructions (thanks @PokemonAshLovesMyTurkeyAndILikeYouTwo #2408 )
...
Tween.update will now return `false` (flagging the Tween for destruction) should the Tween.target property every become falsey. This can happen if the object the Tween was tracking is destroyed, nulled or generally removed..
2016-04-04 22:06:16 +01:00
Richard Davey
8e880eddee
Merge pull request #2402 from jakewilson/dev
...
Added ability to kill a Game Object when it leaves camera bounds.
2016-04-04 21:52:30 +01:00
photonstorm
63b3b3e887
Negative lineSpacing in Text objects will no longer crop the bottom pixels off lines of text (thanks @gaelenh #2379 #2374 )
2016-04-04 21:36:37 +01:00
photonstorm
f9ff892510
Formatting.
2016-04-04 21:25:21 +01:00
slash
fbdf8073ad
Add "maxLines" style attribute to Text object, maximum number of lines
...
to be shown for wrapped text or 0 for no limit. (default).
2016-04-03 10:08:35 -05:00
Jake Wilson
ae663f97aa
Added ability to kill a Game Object when it leaves camera bounds.
2016-03-28 20:34:00 -04:00
Stoneman1
ee335fe466
Fixed backwards compatibility issue.
2016-03-02 13:28:44 +02:00
Stoneman1
5bdc1c05b4
MediaStream.stop() deprecated. Using MediaStreamTrack.stop() instead.
2016-03-02 12:34:28 +02:00
photonstorm
17071b578c
BaseTexture.destroy wasn't correctly removing the texture from the BaseTextureCache if it was a cached CanvasPool entry (such as Text objects use), causing drawImage errors in Canvas mode, and just blank textures in WebGL (thanks @civet #2339 )
2016-02-18 12:59:40 +00:00
Richard Davey
b629539176
SpriteBatch incorrectly applied the PIXI SpriteBatch prototype over the top of Phaser.Group meaning that Sprites with animations wouldn't render correctly (thanks @qdrj #1951 )
2016-02-17 03:23:56 +00:00
Richard Davey
0c52b9316a
Text with lineSpacing set wouldn't apply the lineSpacing to the final line of text in the Text string, or to text with just single lines. This could lead to incorrect height calculations for further layout and unwanted padding at the bottom of Text objects (thanks @Lopdo #2137 )
2016-02-17 03:14:51 +00:00
photonstorm
5bcfa08af6
Text.useAdvancedWrap allows you to swap between the Basic and the Advanced word wrapping functions. In Advanced it will wrap long-words and condense and trim excess white space (thanks @soldoutactivist #1811 )
2016-02-04 16:00:21 +00:00
Richard Davey
a4c5fb9660
BitmapData.drawGroup can now handle drawing Emitters and BitmapText objects that are part of the Group.
2016-02-03 23:08:54 +00:00
Richard Davey
10209dc8f5
GameObject.revive used to add the health amount given to the Game Object (via heal
) instead of setting it as the new health amount. It now calls setHealth
instead, giving it the exact amount (thanks @netgfx #2231 )
...
GameObject.revive will now set the health amount to 100 instead of 1, bringing it in-line with the `maxHealth` default value.
2016-02-03 21:44:06 +00:00
Richard Davey
034428e92c
Sprite (and all Game Objects) have a new argument in their destroy method: destroyTexture
. This boolean (which is false by default) controls if the BaseTexture of the Game Object should be destroyed or not. This is extremely useful in situations where you've got a lot of dynamic assets you no longer need, such as textures created from BitmapDatas. You must set the destroyTexture
argument yourself. This can be done in a custom Game Object destroy method or as part of your state shutdown ( #2261 )
2016-02-03 11:41:37 +00:00
Richard Davey
8043d29aa6
BitmapData would always create a private _swapCanvas
which was a clone of its main canvas used for advanced movement operations. This no longer happens. The swap canvas is created only as needed, by those functions that use it (specifically moveH
and moveV
), meaning a BitmapData will now use half the amount of memory it used to, and you'll have half the amount of canvas DOM elements created (unless you make heavy use of the move functions).
2016-02-03 11:41:37 +00:00
Richard Davey
75d6bbb251
Updated defs and improved jsdocs for #2277
2016-02-02 23:37:08 +00:00
Richard Davey
d4edbe6619
Merge pull request #2277 from slashman/exposeWrappedLinesOnText
...
Alow precalculating the results of text wrapping.
2016-02-03 01:32:49 +02:00