Commit graph

1229 commits

Author SHA1 Message Date
Felipe Alfonso
7c4c439aa4 Diffuse lighting shaders. Also made light layer rendering pass through 2018-01-25 19:20:36 -03:00
Michael Hadley
05688ac598 Tile.GetBounds 2018-01-25 13:48:22 -06:00
Felipe Alfonso
d4f0d02745 Merge branch 'master' into rendering-cleanup 2018-01-25 15:45:15 -03:00
Michael Hadley
91f18d9c94 Added convenience method Tile.getTileData 2018-01-25 07:46:08 -06:00
Michael Hadley
a601c57163 Renamed TilemapLayer.map -> TilemapLayer.tilemap for consistency 2018-01-25 07:29:43 -06:00
Michael Hadley
13349145cb Added Tile.tilemap convenience getter 2018-01-25 07:25:14 -06:00
Felipe Alfonso
7b3c2c6b1c Removed old code 2018-01-25 02:27:30 -03:00
Felipe Alfonso
bd8e9b2003 Static Tilemap Layer rendering 2018-01-25 02:26:14 -03:00
Felipe Alfonso
80d9ef42b3 ParticleEmitterManager webgl rendering added 2018-01-24 22:10:30 -03:00
Felipe Alfonso
42482ecb26 TileSprite webgl rendering 2018-01-24 21:15:51 -03:00
Felipe Alfonso
195a59d3ba Dynamic Tilemap rendering 2018-01-24 19:29:57 -03:00
Felipe Alfonso
06fa0afcc8 Dynamic Bitmap Text webgl rendering 2018-01-24 15:55:23 -03:00
Felipe Alfonso
69c56fc920 Merge branch 'master' into rendering-cleanup 2018-01-24 00:58:53 -03:00
Felipe Alfonso
5170784338 Graphics WebGL Rendering 2018-01-24 00:03:43 -03:00
Michael Hadley
e564a6cbe7 Tile helper methods for getting actual world bounds of a tile 2018-01-23 19:16:56 -06:00
Felipe Alfonso
ca465c8139 Fixed Quad 2018-01-23 21:58:37 -03:00
Felipe Alfonso
99d850346f Text rendering added 2018-01-23 21:40:20 -03:00
Felipe Alfonso
502ce8ddea Static BitmapText rendering. Added rect culling to TextureTintPipeline 2018-01-23 20:36:49 -03:00
Felipe Alfonso
dd9cef61cf Image WebGL rendering 2018-01-23 17:32:20 -03:00
Felipe Alfonso
070d946dca Mesh and Sprite rendering 2018-01-23 16:29:47 -03:00
Felipe Alfonso
336cc4e3fe Merge branch 'master' into rendering-cleanup 2018-01-23 13:39:33 -03:00
Michael Hadley
ebabf97ce3 Comment clarification 2018-01-23 09:41:29 -06:00
Michael Hadley
4abf0df119 Added setCollisionFromCollisionGroup for easily setting collision from Tiled collision editor 2018-01-23 09:40:59 -06:00
Michael Hadley
2cabd15684 Added SetCollisionByProperty to Tilemap API 2018-01-23 09:05:37 -06:00
Michael Hadley
e31ea73ad4 Typo fix: Tilset -> Tileset 2018-01-23 08:38:43 -06:00
Michael Hadley
629ead9a37 Making Tileset comments more specific - better explains Tiled structure 2018-01-23 07:55:43 -06:00
Michael Hadley
b8b0f42153 getTileProperty -> getTileProperties
A tile can have multiple properties, so it makes more sense as a plural method name
2018-01-23 07:54:03 -06:00
Michael Hadley
c7a471e29a Convenience for getting Tileset collision group from Tile 2018-01-23 07:52:53 -06:00
Michael Hadley
ab29015742 Convenience tile getters for looking up tileset & tilemap layer 2018-01-23 07:48:59 -06:00
Felipe Alfonso
0f0b422fd7 FlatTint Pipeline progress 2018-01-22 19:51:15 -03:00
Felipe Alfonso
2b043fff65 Removed RenderTarget and Shader from components 2018-01-22 18:53:15 -03:00
Felipe Alfonso
961f00ac11 BlitterPipeline added 2018-01-22 18:21:47 -03:00
Felipe Alfonso
e8610734b7 Merge branch 'master' into rendering-cleanup 2018-01-22 12:18:38 -03:00
Richard Davey
75e9349b3c Text canvas width cannot drop below 1x1 pixels. 2018-01-22 12:21:42 +00:00
Michael Hadley
348da8c81e MatterTileBody: wrapper around a Tile that provides access to a matter body 2018-01-21 12:53:27 -06:00
Felipe Alfonso
a4e79875d4 Merge branch 'master' into rendering-cleanup
# Conflicts:
#	src/gameobjects/blitter/BlitterWebGLRenderer.js
2018-01-21 11:14:27 -03:00
Richard Davey
a8c0ee8839 Allow to pass a Frame object directly to a Bob 2018-01-20 17:45:01 +00:00
Richard Davey
d7611afaab Fixed issue with setting Bob frame 2018-01-20 17:05:53 +00:00
Richard Davey
2fb3641824 Should be a string, not a Frame object 2018-01-20 16:35:47 +00:00
Richard Davey
a5a112114b Added blitter coordinates to bob output 2018-01-20 16:21:59 +00:00
Richard Davey
d220634fb6 Added helper methods for flip, visible and alpha 2018-01-20 16:21:42 +00:00
Richard Davey
b951809791 Fixed children reference 2018-01-20 16:21:28 +00:00
Richard Davey
134c67a51b Split into base class and plugin extension so other classes can use them too 2018-01-20 16:21:12 +00:00
Felipe Alfonso
f388391c25 Merge branch 'master' into rendering-cleanup 2018-01-18 14:28:02 -03:00
Richard Davey
d46662cd46 Swapped to using Number.MAX_VALUE so repeat -1 now works properly in IE11 and below. 2018-01-18 14:59:32 +00:00
Richard Davey
2deb9edc9e Plugins now check to see if the Scene is already booted and adapt accordingly. 2018-01-18 14:00:31 +00:00
Richard Davey
5a333bc2fd Updated to new Plugin format, removed injection and mapping 2018-01-18 05:18:09 +00:00
Michael Hadley
821eae6eee Bug fix: weltmeister parser 2018-01-17 18:38:55 -06:00
Michael Hadley
2e68f2507d Added Weltmeister support to Loader & Tilemap API 2018-01-17 18:34:00 -06:00
Michael Hadley
72a14df466 Shortened Tilemap format names 2018-01-17 18:34:00 -06:00
Felipe Alfonso
4983b393e3 Merge with master 2018-01-17 18:30:39 -03:00
Felipe Alfonso
cfe07706e6 Cleaning up WebGLRenderer 2018-01-17 18:25:43 -03:00
Richard Davey
bae63901d7 fillPoint draws the rect in the center of the x/y coordinates instead of the top-left 2018-01-17 15:01:24 +00:00
Antriel
3348f5bd16 Added support for drawing filled ellipse to Graphics. 2018-01-17 11:36:28 +01:00
Michael Hadley
e9ab1725f3 Make tileset the source of truth for texture in both tilemap layers 2018-01-16 19:48:17 -06:00
Richard Davey
d1cd5cbc1d Tidied up destroy 2018-01-17 00:29:23 +00:00
Richard Davey
ad49a01271 Fixed rogue input reference and hitTest signature 2018-01-16 23:50:01 +00:00
Richard Davey
f9a7939812 Lots of work migrating to the new plugin system, fixing references and exposing on the namespace 2018-01-16 22:28:29 +00:00
Richard Davey
8e07320596 Migrating to plugins 2018-01-16 19:49:13 +00:00
Felipe Alfonso
fd4f441146 DynamicBitmapText WebGL renderer updated 2018-01-16 16:32:27 -03:00
Richard Davey
674c1b5ba8 Moving plugins to their own locations 2018-01-16 18:34:37 +00:00
Felipe Alfonso
5c782c8f7d Merge branch 'master' into rendering-cleanup 2018-01-16 13:17:39 -03:00
Richard Davey
89c04fc193 Merged Animation component. 2018-01-16 15:39:18 +00:00
Richard Davey
be756ed7fc Renamed folder camera to cameras and split up the contents into proper namespaces. Merged inc files back into classes. 2018-01-16 15:07:04 +00:00
Felipe Alfonso
77d4493f43 Merge branch 'master' into rendering-cleanup 2018-01-15 21:44:47 -03:00
Michael Hadley
f86298b8d2 Tilemap layers now initialize their alpha from LayerData
This makes it easy to import layer alphas from Tiled
2018-01-14 16:16:47 -06:00
Felipe Alfonso
ad1701d0ed Changed Image gl pipeline 2018-01-12 21:20:41 -03:00
Felipe Alfonso
8bb9b1309f SpriteBatch pipeline re-implementation 2018-01-12 21:13:41 -03:00
Felipe Alfonso
3282ead8a7 Merge branch 'master' into rendering-cleanup 2018-01-12 14:11:18 -03:00
Richard Davey
c625b8735b Updated to using Event Emitter for all key managers and game objects. Events are now dispatched directly using arguments instead of Event objects, all managers updated to emit directly. 2018-01-12 17:09:21 +00:00
Felipe Alfonso
40262eb0cb Merge branch 'master' into rendering-cleanup 2018-01-12 12:42:45 -03:00
Richard Davey
718859b02e Moved the depth sorting functions into the DisplayList class, as it's really the one responsible for it, not System. 2018-01-11 13:59:06 +00:00
Michael Hadley
fdc1af0cd2 Install isTilemap prop used by physics system for fast type checking 2018-01-10 20:45:28 -06:00
Felipe Alfonso
8e66cf9f98 Merge branch 'master' into rendering-cleanup 2018-01-10 17:05:32 -03:00
Felipe Alfonso
54274b782a BlitterBatch pipeline working 2018-01-10 17:03:01 -03:00
Hal Helms
89e4289c9d
Fix WeightedRandomize.js 2018-01-09 22:26:02 -08:00
Hal Helms
42ad0ac399
Add semicolons to WeightedRandomize 2018-01-09 22:24:56 -08:00
Hal Helms
302eba15d9
Update WeightedRandomize docs for index arrays 2018-01-09 22:09:28 -08:00
Hal Helms
e128733f02
Update WeightedRandomize() to support index arrays 2018-01-09 22:05:34 -08:00
Richard Davey
d8f1ba03e9 Moved repository location 2018-01-09 21:43:56 +00:00
Richard Davey
0d90f75b5f Splitting the dev branch up into versions. 2016-11-22 01:36:56 +00:00
Richard Davey
7a155f66fe Added Tilemap back in and tested with Blitter object, and it works really fast. 2016-11-15 03:11:21 +00:00
Richard Davey
346fbc2cbd Blitter + Bob now rendering and updating fully. 2016-11-15 01:57:42 +00:00
Richard Davey
e150efea1f Added Blitter Game Object, for fast drawing of texture frames, with single level transforms. 2016-11-14 23:38:41 +00:00
photonstorm
fa3905c8c7 Containers added themselves to States properly. 2016-11-10 17:04:29 +00:00
photonstorm
38868d6ecf Fixed Pixel Field. 2016-11-09 15:33:42 +00:00
photonstorm
7a35f68ddc MainLoop rendering interpolation done. 2016-11-09 12:25:26 +00:00
Richard Davey
48f90fec34 Implemented a State based MainLoop system, with fully split logic / render cycles and frame rate. Each State can now set its own frame rate. Added in more Camera commands, moved the Tween Manager into the State Systems, and started work on the new heavily reduced Game object. 2016-11-08 01:50:57 +00:00
Richard Davey
4b42972a9b Comment out some parts that don't work yet. 2016-11-07 00:33:42 +00:00
Richard Davey
d568d2bede Moved _sys to a StateSystems class to keep things much cleaner, and avoid setter inheritance mess. 2016-11-06 12:18:08 +00:00
Richard Davey
268e40ea7e Add to 'state' by default now. 2016-11-03 22:26:39 +00:00
Richard Davey
a15747203e Moved boot into Game, and added State property. 2016-11-03 22:26:16 +00:00
Richard Davey
6e284cf4f9 Removed test code. 2016-11-01 01:19:32 +00:00
Richard Davey
03b651f79f Loads of tweaks re: Transform inheritance. 2016-11-01 00:31:45 +00:00
Richard Davey
8e2c5b7669 Removed dead code. 2016-10-31 00:03:57 +00:00
Richard Davey
c27b2f9fca Changed batch limits. Currently running 20,000 pixels in 1 draw call. 2016-10-30 23:59:47 +00:00
Richard Davey
c4a79bfadc Pixel Batch rendering working, and passing through properly. 2016-10-30 23:40:18 +00:00
Richard Davey
bd80999b33 Refined the Image and WebGL Renderers. 2016-10-30 22:58:14 +00:00
Richard Davey
a55df3f143 Added in the Pixel Field batch processor and start of the Game Object. 2016-10-30 22:57:50 +00:00
Richard Davey
577b81580a New batch system working. 2016-10-30 14:57:38 +00:00
Richard Davey
f1760f961d Working through splitting the Batch shader out of the manager, and into its own class. Got multi-shader swapping working. 2016-10-28 02:42:58 +01:00
Richard Davey
2b850ad4e8 Setting the anchor dirties the Transform. 2016-10-27 15:14:09 +01:00
photonstorm
fd3898742f Added ability to toggle multi-texture support at run-time. 2016-10-25 16:44:23 +01:00
photonstorm
8de992175e Renamed Renderer spriteBatch to just batch. 2016-10-25 14:30:29 +01:00
Richard Davey
120b6eb2bd Blend Modes work. More optimisations in the batch manager. 2016-10-25 03:57:34 +01:00
Richard Davey
4c6691863c Fixed Multi Texture support in the new batch manager. 2016-10-25 00:41:45 +01:00
photonstorm
2af81bdfba Masses of refactoring in BatchManager, making it as compact and fast as possible. 2016-10-24 17:14:10 +01:00
Richard Davey
3cb806c86e New addVerts method working. 2016-10-23 11:25:44 +01:00
photonstorm
64cd88f7b4 Trying out flash effect. 2016-10-19 17:17:26 +01:00
photonstorm
f1e8396b6f Tidying up. 2016-10-19 14:30:43 +01:00
photonstorm
0a659bcf67 No longer needed. 2016-10-19 14:29:38 +01:00
photonstorm
fb3bb4b32f Refactored into new Base Game Object class, that Image and Sprite (and everything else) will now extend. Much more versatile, and a lot less code duplication. 2016-10-19 11:54:00 +01:00
Richard Davey
5273799912 Added Color component to Stage and Image.
Added tint support into the Batch Manager.
2016-10-19 02:21:20 +01:00
photonstorm
18b12dfc3e Huge amount of work getting the WebGL renderer sorted out, tidied up and merged with the latest Texture and Transform components. 2016-10-18 17:03:25 +01:00
photonstorm
3020e3b8cf Updating core objects. 2016-10-14 08:59:24 +01:00
photonstorm
bfd391b251 Using Color component. 2016-10-14 08:58:26 +01:00
photonstorm
f9ffe098c3 Check the worldAlpha when rendering. 2016-10-14 06:32:03 +01:00
photonstorm
386e22b0fd Commented out all the bg color stuff. It now just changes the canvas CSS. 2016-10-14 06:31:26 +01:00
photonstorm
9961eeee6b Added worldAlpha property. 2016-10-14 06:31:01 +01:00
photonstorm
582d705b1f Updated base game objects. 2016-10-14 04:09:22 +01:00
photonstorm
ff2caeeb1c Some quick Image tests (will need to move to Sprite soon) 2016-10-14 02:21:21 +01:00
photonstorm
c5088d4ba6 Updated Factory to add to parent. 2016-10-14 02:21:04 +01:00
photonstorm
f6903df104 Stage now extends Container. 2016-10-14 02:20:01 +01:00
photonstorm
680ce51842 Updated Container methods, renamed renderers, added Factory. 2016-10-14 02:19:35 +01:00
Richard Davey
483c3eb34b Updated to work with new Image properties. 2016-10-13 01:54:40 +01:00
Richard Davey
559126d7b5 Moved to using new Transform component, and adjusted other properties. 2016-10-13 01:54:18 +01:00
Richard Davey
72ee3c7a84 Updating Image game object to use the new Transform component. 2016-10-13 00:08:26 +01:00
photonstorm
9ed542781b Added the new Data Component. 2016-10-12 15:19:04 +01:00
photonstorm
ce3308ea1d Hooking the Loader and Cache into the new Texture Manager. 2016-10-11 14:52:17 +01:00
Richard Davey
3ac8c4fcc5 Tidied up the Children component. 2016-10-09 23:39:27 +01:00
Richard Davey
0af16817a5 Refactored GameObjects to GameObject. 2016-10-09 22:27:58 +01:00
Richard Davey
fb13151959 Start of the container. 2016-10-08 17:19:55 +01:00
Richard Davey
d137d3e989 Swapped over to using the new Factory. 2016-10-08 16:31:08 +01:00
Richard Davey
380e717e52 Finished off missing factories. Moved over the docs. Changed rogue @returns to @return everywhere. 2016-10-08 16:17:46 +01:00
Richard Davey
6d0dc5e003 Added BitmapText Factory. 2016-10-08 13:18:35 +01:00
Richard Davey
729020477a New Game Objects structure in place, and starting to take shape.
Moved BitmapData and RenderTexture into the textures folder for now.

All Game Objects now have their own sub-folder, with their Factory and renderer functions alongside them, plus any other files they need.

New Factory class added. Currently hooked into `game.factory` for testing, but will swap to `game.add` when complete.
2016-10-08 03:05:42 +01:00
Richard Davey
f9fe6a3e94 Fixed canvas SpriteBatch and removed duplicate render functions. 2016-10-07 03:41:48 +01:00
Richard Davey
5b4280d694 Removed the matrix. 2016-10-07 03:34:42 +01:00
Richard Davey
35fd29a45a Removed Pixi globals, and moved constructors above the prototype. 2016-10-07 03:32:37 +01:00
Richard Davey
0abf9d958d Updated scaleMode global. 2016-10-07 03:22:59 +01:00
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
Richard Davey
88f1ea95d2 Fixed BitmapText.cleanText so it works properly with new-lines within the text.
BitmapText would crash if it tried to render a character that didn't exist in the font set. Any character that doesn't exist in the font set now renders a space character instead.

BitmapText would load and parse the kerning data from the font, but would never use it when rendering. The kerning values are now applied on rendering as well (thanks @veu #2165)
2016-02-02 22:54:01 +00:00
Richard Davey
bceca55c8f Merge pull request #2222 from FracturedShader/patch-2
Update BitmapData.shiftHSL, limitValue -> clamp
2016-02-02 02:31:54 +02:00
Richard Davey
5893224f10 The Style object passed in to Phaser.Text is now cloned instead of referenced. This means you can adjust single Text instances without invaliding other Text objects using the same style object (thanks @asyncanup #2267) 2016-02-02 00:29:46 +00:00
Richard Davey
34aff350eb The Video game object used an anonymous bound function for both the 'ended' and 'playing' event listeners, meaning that they were never removed properly (thanks @ramalhovfc #2303) 2016-02-02 00:18:50 +00:00
Richard Davey
1d2d707b32 Merge pull request #2168 from nlotz/dev
fix typos in API docs
2016-02-01 19:01:58 +02:00
Richard Davey
e551254b52 Merge pull request #2209 from FracturedShader/patch-1
Update BitmapData.setHSL to accept 0
2016-02-01 18:57:29 +02:00
Richard Davey
76e2dc66ee Fixed docs (#2216) 2016-02-01 16:42:03 +00:00
Richard Davey
37d9b3402d Merge pull request #2226 from milkey-mouse/fix-retrofont-smoothed
Change RetroFont.smoothed from string to boolean
2016-02-01 18:32:22 +02:00
photonstorm
d7b6d4e784 jshint fix (missing semi-colon) 2016-01-13 16:15:46 +00:00
photonstorm
70437a0bdd Clean text automatically on creation. 2016-01-13 15:18:42 +00:00
photonstorm
6a868cba5e BitmapText.cleanText is a new method that will scan the given text and either remove or replace all characters that are not present in the font data. It is called automatically by BitmapText.updateText. 2016-01-13 15:15:51 +00:00
photonstorm
36d9c8d673 Changed from a space to '' and added 'replace' argument. 2016-01-13 15:14:14 +00:00
slash
5cc6b5962b Add missing assignations required for wrapping calculations to work
correctly
2016-01-03 16:54:27 -05:00
slash
ef7c2c6275 Alow precalculating the results of text wrapping. This may be useful for
example if the developer wants to control pagination, in which case
he may know in advance the total number of lines the text will wrap to,
and then set it on batches.
2016-01-03 16:33:33 -05:00
Robert Plante
8f1450ecca Update to BitmapData.setHSL to follow conventions 2015-11-23 12:46:12 -05:00
Milkey Mouse
19845eb691 Changed RetroFont.smoothed from string to boolean 2015-11-22 21:37:28 -08:00
Robert Plante
45195848bc Update BitmapData.shiftHSL, limitValue -> clamp
`math.limitValue` does not exist so it was changed to `math.clamp` which provides the desired functionality.
2015-11-17 15:34:42 -05:00
Robert Plante
e236cac1e6 Update setHSL
Checking `if (h)` yields `false` when `h = 0`, but 0 is an acceptable value here. Had to decide between caching HSL verification and doing `typeof` 3x/pixel and opted for the temporary variables.
2015-11-17 14:15:26 -05:00
photonstorm
609b38c6e1 BitmapData.update causes a snowballing memory leak under WebGL due to a Context.getImageData call. BitmapData.clear used to call update automatically but no longer does. This resolves the issue of the Debug class causing excessive memory build-up in Chrome. Firefox and IE were unaffected (thanks @kingjerod #2208) 2015-11-17 14:07:56 +00:00
photonstorm
1c169ef571 Video jsdoc fixes. 2015-11-02 11:51:15 +00:00
Richard Davey
799efa3079 You can use the new const Phaser.PENDING_ATLAS as the texture key for any sprite. Doing this then sets the key to be the frame argument (the frame is set to zero). This allows you to create sprites using load.image during development, and then change them to use a Texture Atlas later in development by simply searching your code for 'PENDING_ATLAS' and swapping it to be the key of the atlas data. 2015-10-31 01:04:14 +00:00
nlotz
da45d04a70 fix typos in API docs 2015-10-27 09:10:14 +01:00
photonstorm
efc69ff463 Buttons (or any Sprites) that don't have a texture, but have children, would incorrectly render the children under WebGL due to the baseTexture.skipRender property (thanks @puzzud #2141) 2015-10-16 16:44:51 +01:00
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
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
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
photonstorm
e01a754732 Removed the FrameDebugger and moved to its own branch. 2015-10-12 11:10:37 +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
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
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
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
61edd1b458 FrameDebugger can now handle Text and BitmapText. 2015-09-16 03:18:15 +01:00
photonstorm
8db23545da jsdoc updates. 2015-09-10 15:57:55 +01: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
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
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
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
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
4fa1ffb4cf JSDocs update. 2015-08-20 12:47:59 +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
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
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
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
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
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
4e857f19f6 BitmapText with tints applied wouldn't update properly in Canvas mode (thanks @Pajamaman #1969) 2015-08-03 11:51:04 +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
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
4b22f48c75 2.4.2 release. 2015-07-29 15:01:04 +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
photonstorm
9a83ddcab9 Updated to latest Creature runtimes, added to GameObjectFactory. 2015-07-23 13:25:08 +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
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
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
photonstorm
7144b10ad5 TileSprites fixed for WebGL. 2015-07-21 13:24:12 +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
Charlo
795a7c80a8 Improving JSON BitmapText implementation 2015-07-16 13:30:55 +02: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
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
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
Markus Thurlin
d360384f4a game.make.group() did not setup parent correctly 2015-07-15 14:30:28 +02:00
Richard Davey
4dec046c40 Added pendingDestroy to Groups. 2015-07-12 11:33:30 +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
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
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
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
9548fb9856 Final textBounds updates. 2015-07-07 15:16:23 +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
Richard Davey
2b7666e22d Added toString to the constructor parameter. 2015-07-01 23:37:48 +01:00
photonstorm
8356aacaa8 Trying out new Text pivot and mute handling. 2015-06-24 19:57:40 +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
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
d931cedb69 Fixed issue with long text dropping to be shorter again. 2015-06-16 12:45:26 +01:00
photonstorm
70cf7a32bc Fixed jshint errors. 2015-06-13 02:31:21 +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
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
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
photonstorm
a971928bbc jshint fixes. 2015-06-03 13:22:29 +01:00