Michael Hadley
b21fc88660
Dynamic Tilemap WebGL - respect layer scale in rendering
2017-11-25 17:09:56 -06:00
Michael Hadley
557ac4fe6e
Add GetTilesWithinWorldXY method to tilemap and layers
2017-11-25 08:42:19 -06:00
Michael Hadley
432c1c0f6d
GetTilesWithin: clip rectangular area to map bounds
2017-11-25 08:40:07 -06:00
Michael Hadley
4c34d09955
Optional snapToFloor parameter added to WorldToTile methods
2017-11-25 07:08:06 -06:00
Michael Hadley
7a90d55dd5
Fix: WorldXY now passes recalculateFaces to TileXY methods
2017-11-25 07:06:14 -06:00
Michael Hadley
7844927256
Image layers added to Tilemap
2017-11-24 09:15:02 -06:00
Michael Hadley
0d02f7d941
Extend Tiled importer to handle offsetx and offsety for the various layers
2017-11-24 08:59:36 -06:00
Michael Hadley
d3aa842bfe
Adding collision prop to Tilemap
2017-11-24 08:23:40 -06:00
Michael Hadley
0e73bae5bc
Extend Tileset to have methods for accessing properties and data per tile
2017-11-24 08:23:22 -06:00
Michael Hadley
805c0a0125
Break Tiled parser into modular pieces & extended capabilities
...
New features:
- Parsing text object
- Parsing "tiles" prop of tileset which contains collision & terrain information
2017-11-24 08:22:55 -06:00
Michael Hadley
fa8178f47b
Port of ImageCollection from v2
2017-11-24 08:21:09 -06:00
Felipe Alfonso
f1ea070256
Switched inverted rotation transform
2017-11-23 16:02:41 -03:00
Felipe Alfonso
c6d674af8d
strokeRect fix
2017-11-23 15:53:15 -03:00
Michael Hadley
0fd6779107
Adding a couple notes about methods that manipulate multiple tiles
2017-11-21 19:19:13 -06:00
Michael Hadley
e19de28932
Tilemap & layers now recalc faces (with a parameter for disabling recalc)
2017-11-21 19:18:34 -06:00
Michael Hadley
bdea565586
Better optimized calc/recalc faces methods for tiles
...
These eliminate the need for the preventRecalc method from v2. If an individual tile is changed with putTileAt, only the min number of faces will be recalculated (vs all faces being recalculated in v2)
2017-11-21 19:16:46 -06:00
Michael Hadley
dd8bbfa625
Update SetCollision methods to track which indices have been set to collide
2017-11-21 19:13:43 -06:00
Michael Hadley
e3dbf7c2d0
Fixing internal method name typos
2017-11-21 19:07:22 -06:00
Felipe Alfonso
500da5d07f
Canvas GeometryMask rendering
2017-11-21 20:21:43 -03:00
Michael Hadley
105dc755ce
Tilemap & layers: optimized SetCollision methods
...
v2 was structured in a way where a full pass through ALL tiles would occur if SetCollisionBetween or SetCollisionByExclusion was used. That's a huge penalty for large tilemaps, so this version duplicates some loop code for the sake of speed.
2017-11-20 20:08:50 -06:00
Michael Hadley
21584f922c
Fix for last commit
2017-11-18 16:11:51 -06:00
Michael Hadley
3f14382951
Make naming consistent for accessing individual tiles (e.g. getTile vs getTileAt)
2017-11-18 15:41:26 -06:00
Michael Hadley
759252a078
Better handling of resizing a tilemap
...
Force the tilesets and tiles to inherit their tile size from the tilemap
2017-11-18 15:40:27 -06:00
Michael Hadley
e2960486a9
Filling out Tile with some methods & props from v2
2017-11-18 15:38:46 -06:00
Michael Hadley
b48d82daee
Format name typo
2017-11-18 08:41:57 -06:00
Michael Hadley
d2f72fbe58
Create CullTiles component to allow static and dynamic layers to cull when needed
...
Fixes performance issue with canvas static tile renderer on large maps
2017-11-18 08:31:59 -06:00
Michael Hadley
b5fb0b8879
Refactor in order to update TilemapCreator & TilemapFactory
2017-11-17 15:55:12 -06:00
Michael Hadley
f82217e868
Move Parse to tilemap/Parse
2017-11-17 15:54:18 -06:00
Michael Hadley
49854bfd1b
Format Typo
2017-11-17 15:49:32 -06:00
Michael Hadley
6da642bd99
Set alpha in dynamic layer canvas renderer
...
Set it directly because of the explicit save/restore commands throw the renderer's internal alpha out-of-sync
2017-11-17 15:31:41 -06:00
Michael Hadley
5535af2a17
Bug fix: tilemap layer renderer didn't account for layer xy position
2017-11-17 13:53:11 -06:00
Michael Hadley
09ed883f4d
Remove old todos in static layer
2017-11-17 13:52:32 -06:00
Michael Hadley
b8e8d9d3aa
Made data structure for maps and layers more explicit via classes & default props
2017-11-17 13:16:39 -06:00
Richard Davey
5f1c022866
lint fix
2017-11-17 18:29:50 +00:00
Michael Hadley
3266974ea0
Tilemap & layer WorldXY methods: get, has, put, remove
2017-11-17 07:58:33 -06:00
Richard Davey
6ccae5ec49
Particle Manager no longer uses BuildGameObject and instead manages its own addition to the system lists.
2017-11-17 13:30:29 +00:00
Richard Davey
d74018f3d0
Rogue null
check borked the creation of emitters when a null frame was specified.
2017-11-17 13:30:07 +00:00
Richard Davey
153d1a113a
Fixed factory name.
2017-11-17 13:29:33 +00:00
Richard Davey
f29d94356c
eslint tidy
2017-11-17 13:29:23 +00:00
Michael Hadley
b34d18e10c
World to Tile conversion on maps and layers - both accounting for camera scroll
2017-11-16 20:36:45 -06:00
Michael Hadley
205675c387
Tilemap: prevent methods from acting on a static tilemap layer & warn user
2017-11-16 19:58:35 -06:00
Michael Hadley
b34f8a9dcc
Associate tilemap layer data with the static or dynamic tilemap layer that "owns" it
...
This enforces 1x tilemap layer data <-> 1x static/dynamic tilemap layer and allows the Tilemap instance to look up the static/dynamic tilemap layer when needed.
2017-11-16 19:55:17 -06:00
Michael Hadley
83b7df2a73
Tilemap: destroy, removeAllLayers, setTileSize
2017-11-16 19:09:28 -06:00
Michael Hadley
63fb2e863f
Tilemap & layer: ReplaceByIndex, FindByIndex, SwapByIndex
2017-11-16 19:08:58 -06:00
Michael Hadley
4c306d60a7
Last Tileset API method to match v2
2017-11-16 15:25:45 -06:00
Michael Hadley
e6c6d1ddce
TIlemap & layers: GetTileAtWorldXY
2017-11-16 13:27:52 -06:00
Michael Hadley
c2268f3dee
PutTile, RemoveTile & Tile#Copy
2017-11-16 13:09:07 -06:00
Michael Hadley
2b08daff32
Tilemap: modularize empty map generators & add createBlankDynamicLayer
2017-11-16 11:44:24 -06:00
Richard Davey
a60562a634
'add' shouldn't control the update state.
2017-11-16 16:47:13 +00:00
Michael Hadley
efae7f5796
DynamicTilemapLayer updates that should have been in the last commit
2017-11-15 20:16:43 -06:00
Michael Hadley
355d9accf3
More tilemap & layer fun: Copy, FIll, Randomize, Shuffle, GetTilesWithin
...
Note: methods that mutate the tiles are not installed on StaticTilemapLayer
2017-11-15 20:06:07 -06:00
Michael Hadley
db5cab8494
Fix: wrong sign for canvas translation
2017-11-15 19:15:12 -06:00
Michael Hadley
b714e2afdf
Add methods for looping over & accessing groups of tiles to map & layers
2017-11-15 16:36:41 -06:00
Michael Hadley
74842aae1d
Tilemap & Layers: hasTileAt & better naming
2017-11-15 15:28:15 -06:00
Michael Hadley
1be6847a87
Tilemap: better naming, currentLayer -> currentLayerIndex
2017-11-15 15:05:11 -06:00
Michael Hadley
48f1e60743
Tilemap: reorder and add get/set layer
2017-11-15 14:55:26 -06:00
Michael Hadley
84a86ae0f7
Share GetTileAt across tilemap layers and tilemap
2017-11-15 13:50:56 -06:00
Michael Hadley
6d1b17258b
Add flip capability to dynamic webgl & canvas tilemap renderers
2017-11-14 20:45:05 -06:00
Michael Hadley
6f4f571f98
Canvas tilemap layers: add alpha support
2017-11-14 16:13:07 -06:00
Michael Hadley
ece0bf7811
Tilemap layers WIP - both layers now use new Tile class
2017-11-14 15:35:18 -06:00
Michael Hadley
13ded52c6b
New Tile class to be shared across static and dynamic layers
2017-11-14 15:34:33 -06:00
Michael Hadley
3f08689c44
Tilemap parsers: remove width & height parameters since they are inferred
2017-11-14 15:33:13 -06:00
Michael Hadley
bf19553135
Tilemap parsers: add ability to insert null instead of blank tile
2017-11-14 15:02:19 -06:00
Felipe Alfonso
0b91a9e95d
Fix RenderPass render target binding
2017-11-14 14:30:34 -03:00
Richard Davey
97efeff751
Removed the Pool classes and Manager as Group can now take on this role
2017-11-14 16:06:56 +00:00
Richard Davey
ac4f05bc6e
Large Group refactor (which will break lots of examples)
...
Removed all of the Action helpers. It just bulks the class out and you can call them directly with Phaser.Actions anyway. Also added Pool support so you can now easily use a Group as an object pool, with fast recycling, creation, seeding and max sizes.
2017-11-13 23:32:14 +00:00
Felipe Alfonso
812638a966
BitmapMask WebGL Rendering Working
2017-11-13 14:21:34 -03:00
Michael Hadley
a7424fa750
Progress on Tilemap - can now link tileset images and create layers
2017-11-11 10:38:52 -06:00
Richard Davey
beb652a6c8
Merge branch 'master' of https://github.com/photonstorm/phaser
2017-11-11 03:52:26 +00:00
Richard Davey
ee9e6ef690
Particles with an alpha of zero are no longer rendered
2017-11-11 03:51:54 +00:00
Richard Davey
795a2fa2ed
Added getCenter to the Bounds component
2017-11-11 03:51:28 +00:00
Michael Hadley
780bd76c6f
Tilemap Parsers: refactor csv parser into csv parser + 2D array parser
2017-11-10 21:38:42 -06:00
Michael Hadley
1ba75cd50c
ParseTiledJSON eslint auto fix
2017-11-10 17:13:11 -06:00
Michael Hadley
f9f6d95097
Tilemap: json tiled parser from v2
2017-11-10 15:57:38 -06:00
Michael Hadley
249fe58bba
Tileset: tile lookup features
2017-11-10 15:56:14 -06:00
Michael Hadley
a76a6535e0
CSV tilemap parser & dummy tiled json parser
2017-11-09 20:50:25 -06:00
Michael Hadley
1b1bc41f81
Adding CSV & JSON tilemaps to BaseLoader
2017-11-09 12:21:06 -06:00
Michael Hadley
0804bf7595
Rename static & dynamic tilemaps -> tilemap layer
2017-11-09 12:18:23 -06:00
Richard Davey
671dfcd569
Groups can now pass a config as the first argument.
...
They also have 2 new callbacks: createCallback and removeCallback.
2017-11-09 03:59:56 +00:00
Felipe Alfonso
a1957b9c6e
BitmapMask rendering progress. Still missing blend mode support specifically for it to work with particles
2017-11-08 15:14:14 -03:00
Richard Davey
b37c588e72
Merge branch 'master' of https://github.com/photonstorm/phaser
2017-11-08 03:52:03 +00:00
Richard Davey
488069b098
Fixed Container proxy
2017-11-08 03:52:00 +00:00
Felipe Alfonso
f968913c79
BitmapMask rendering progress
2017-11-07 17:37:16 -03:00
Richard Davey
c5ad6e6435
Merge branch 'master' of https://github.com/photonstorm/phaser
2017-11-07 01:32:55 +00:00
Richard Davey
e48273208f
Fixed update origin name change.
2017-11-07 01:32:53 +00:00
Felipe Alfonso
85daa827aa
Bitmap and Geometry Masking progress
2017-11-06 19:12:19 -03:00
Richard Davey
0d38e232e6
Both Static and Dynamic Tilemaps support the new property skipIndexZero
which allows them to skip over index 0 tiles. Works in both canvas and webgl. Fix #3052
2017-11-03 16:52:57 +00:00
Richard Davey
954e7ef025
Merge pull request #3086 from Twilrom/master
...
Some bug fixes
2017-11-03 13:22:38 +00:00
Jower
05a06b28c0
Fix incorrect and unnecessary uses of closePath
2017-11-03 13:45:55 +01:00
Richard Davey
5d8b22c460
Removed un-needed divide by zero check and renamed updateOrigin to updateDisplayOrigin to better reflect what it does
2017-11-03 10:25:25 +00:00
Richard Davey
e395ac628f
Container class tests.
2017-11-02 17:04:10 +00:00
Richard Davey
870b2a94fc
eslint fixes
2017-11-02 17:04:02 +00:00
Richard Davey
cb29497b69
Swapped displayOrigin setters. Fix #3084 .
2017-11-02 15:50:31 +00:00
Richard Davey
cae8e55558
getBounds now works regardless of scale or origin. Fix #3082
2017-11-02 00:30:04 +00:00
Richard Davey
6bfe450a4f
Added getTopLeft, getTopRight, getBottomLeft and getBottomRight to GetBounds component
2017-11-01 23:56:36 +00:00
Felipe Alfonso
9649347287
Static Tilemap WebGL Renderer now applies camera transform matrix correctly
2017-11-01 14:55:01 -03:00
Richard Davey
959a92069a
Fix #3077
2017-11-01 16:21:30 +00:00
Richard Davey
cf6b6eb418
EdgeZone has new updateSource and changeSource methods and seamless argument
2017-11-01 13:09:48 +00:00
Richard Davey
77937f73c7
RandomZone uses a local vec2 now which allows it to work properly with Curves and Paths
2017-11-01 13:09:30 +00:00
Richard Davey
ebca441d39
emitOnly with custom function now sets the correct one.
2017-10-30 17:04:03 +00:00
Richard Davey
3e3ff7d810
Massively refactored how the constructor is structured. Everything now handled in fromJSON or the setters.
2017-10-30 02:23:08 +00:00
Richard Davey
0a07ea91f8
Added loadConfig and toJSON
2017-10-30 02:22:21 +00:00
Richard Davey
7ea3fedd93
Added support for onEnter and onLeave Death Zones for Particles
2017-10-29 21:46:41 +00:00
Richard Davey
5616af917c
Added MoveTo support
2017-10-27 21:19:30 +01:00
Richard Davey
48b0c6c3ea
Removed old files
2017-10-27 21:19:21 +01:00
Richard Davey
12a92330e2
Added ability for particle frames to be either random or cycled, with quantity option
2017-10-27 14:51:52 +01:00
Richard Davey
6e95285acb
Added delay support
2017-10-27 12:31:37 +01:00
Richard Davey
b1c96773cc
Fixed EdgeZone gaps and added yoyo support. Updated emitter config.
2017-10-27 11:43:55 +01:00
Richard Davey
f85ae5d02b
Finished the new Zones.
2017-10-26 17:02:34 +01:00
Richard Davey
114ba2393c
Start of new Zone feature
2017-10-25 16:05:59 +01:00
Richard Davey
f2f64e12e7
Particle Manager has new processors and gravity well support
2017-10-25 16:05:48 +01:00
Richard Davey
a6578562f2
Emitter sends the processors to the particles
2017-10-25 16:05:35 +01:00
Richard Davey
80374dd8d5
Particles are now passed through optional extra processors
2017-10-25 16:05:22 +01:00
Richard Davey
fcaf4700aa
New GravityWell feature for the particle system
2017-10-25 16:05:04 +01:00
Richard Davey
8ab00112bf
Added support for drawing ellipses and arrays of points
2017-10-25 16:04:36 +01:00
Richard Davey
b909f70243
Added bounds and bounce support and fixed velocity math
2017-10-25 02:25:06 +01:00
Richard Davey
916482b2b4
Removed old file. Added ne velocity calculation. Preparing for accel / bounce.
2017-10-24 16:04:05 +01:00
Richard Davey
2ed87f5f9e
Safety nets on property accessors.
2017-10-24 03:31:54 +01:00
Richard Davey
afc73e432b
Moved ops to EmitterOp class and fixed loads of issues and added back in all the setters
2017-10-24 03:02:03 +01:00
Richard Davey
816b228cc5
Loads of little fixes all across the emitter classes.
2017-10-23 17:11:13 +01:00
Richard Davey
80a652e071
Moving to a value ops system for emitters, like the TweenBuilder
2017-10-21 05:05:51 +01:00
Richard Davey
c8b2c2bbb9
Support for randomScale, alpha and angle. Also renamed angle to emitterAngle.
2017-10-20 18:49:45 +01:00
Richard Davey
0d4b36f368
Now render from the correct list array.
2017-10-20 14:14:37 +01:00
Richard Davey
93665ff80a
Emitter Manager now uses a list to allow for emitter sequencing. Added missing depth component. Added ability to emit across all emitters from a given coordinate.
2017-10-20 14:14:22 +01:00
Richard Davey
6180feea8e
Emitter follower now has offset and visibility tracking.
2017-10-20 14:13:48 +01:00
Richard Davey
892319bdb5
Removed import
2017-10-20 14:13:25 +01:00
Richard Davey
66b7e655e9
The blend mode can be set by a string now as well as a number (sprite.blendMode = 'ADD').
2017-10-20 14:12:58 +01:00
Richard Davey
fa620e8b5b
Split out the Depth setters to their own component.
2017-10-20 14:12:25 +01:00
Richard Davey
77b335c9f7
Added emitter follow support
2017-10-20 03:48:42 +01:00
Richard Davey
aad5150990
Emitters can now be created from config objects
2017-10-20 03:20:39 +01:00
Richard Davey
cb8b74e1c7
Scale, rotation, alpha and all eases back in.
2017-10-20 01:49:03 +01:00
Richard Davey
956d59f99d
Emitter.setFrame now works with single or multiple frames.
2017-10-20 00:54:47 +01:00
Richard Davey
c268d44962
Renderer now renders the entire manager, saving a flush after each emitter.
2017-10-20 00:54:28 +01:00
Richard Davey
c65c247393
Preparing new frames getter.
2017-10-18 15:18:42 +01:00
Richard Davey
d7bd14ba2b
Working through some velocity tests
2017-10-18 02:26:15 +01:00
Richard Davey
4c6183931c
Working through updating the emitter and particle classes to use the new MinMax format
2017-10-17 21:32:45 +01:00
Richard Davey
d279e77910
Moving to new folder
2017-10-17 04:19:42 +01:00
Richard Davey
d49d7b10c2
Particle Emitter Manager looks after all emitters bound to it
2017-10-17 04:19:29 +01:00
Richard Davey
4ac80bde34
New Particle Manager renderer functions
2017-10-17 04:19:03 +01:00
Richard Davey
e633e9d407
Particle Emitter has its own blend mode, render target and visibility.
...
The emitter also now looks after its own particles and is a child of a Particle Manager.
2017-10-17 04:16:52 +01:00
Richard Davey
44b076fab8
Particle now has a frame component
2017-10-17 04:16:08 +01:00
Richard Davey
c7d08a3652
Moved to the Particles folder
2017-10-17 04:15:53 +01:00
Richard Davey
90e6637be3
Particle Renderers now bail out early if emitter is empty
2017-10-16 22:16:13 +01:00
Richard Davey
ed4cc550e8
JSDoc blocks added.
2017-10-13 11:56:39 +01:00
Richard Davey
c6d8423338
Renaming folder to match namespace.
2017-10-12 15:14:34 +01:00
Richard Davey
7b46b2a3a9
Added missing returns
2017-10-12 01:32:08 +01:00
Richard Davey
8cf60b4c3e
Tidying-up the namespace.
2017-10-11 17:06:13 +01:00
Richard Davey
8e0c4ad6d8
Fixed updateOrigin method.
...
fix #3068
2017-10-11 12:05:09 +01:00
Richard Davey
fa85f43d2e
displayOriginX and displayOriginY are now getters / setters that will protect the actual values
2017-10-08 23:15:56 +01:00
Richard Davey
583a6459d3
setDisplayOrigin divide by zero fix #3066
2017-10-08 22:47:33 +01:00