Commit graph

558 commits

Author SHA1 Message Date
Richard Davey
f2aa880797 Update HexagonalTileToWorldXY.js 2022-11-28 18:16:01 +00:00
Richard Davey
3676881d57 Added comments 2022-11-28 17:34:18 +00:00
Richard Davey
f3e90518e5 Removed the HexagonalTileToWorldY function as it cannot work without an X coordinate. Use HexagonalTileToWorldXY instead. 2022-11-28 17:34:11 +00:00
Richard Davey
31ea1dc6da Recoded the point conversion math in the HexagonalTileToWorldXY function as it was incorrect. Now returns world coordinates correctly. 2022-11-28 17:33:48 +00:00
Richard Davey
e760178365 Tile.copy will now use the DeepCopy function to copy the Tile.properties object, as otherwise it just gets copied by reference. 2022-11-28 13:35:15 +00:00
Richard Davey
27bbf9b2f5 Tilemap.copy would error if you copied a block of tiles over itself, even partially, as it tried to copy already replaced tiles as part of the function. It will now copy correctly, regardless of source or destination areas. Fix #6188 2022-11-28 13:35:04 +00:00
Richard Davey
18b25d5bc1 Update GetTilesWithin.js 2022-11-28 13:34:57 +00:00
Richard Davey
949852d8d5 Recoded the point conversion math in the HexagonalWorldToTileXY function as it was incorrect. Now detects any dimension hexagon correctly. Fix #5608 2022-11-24 23:31:49 +00:00
Richard Davey
5139d22814 Added debug code commented out 2022-11-24 23:11:11 +00:00
Richard Davey
84ef41f470 Fixed math for any layer scale 2022-11-24 23:11:01 +00:00
Richard Davey
ddd4eeaa53 Now works - time to tidy up 2022-11-24 21:29:58 +00:00
Richard Davey
d570b9b26b Debugging hex coords 2022-11-24 18:54:17 +00:00
Richard Davey
c4b9dbc260 Added staggerAxis and staggerIndex 2022-11-24 18:54:10 +00:00
Richard Davey
b065452cc4 Debugging 2022-11-24 13:44:52 +00:00
Richard Davey
4bf7e1978f WorldToTileXY now does all the calculations and X and Y just call it. 2022-11-24 12:51:18 +00:00
Richard Davey
36bbc88995 Removed HexagonalWorldToTileY as it cannot work without an X value 2022-11-24 12:41:42 +00:00
Richard Davey
cf657f4fc7 Calling Tilemap.worldToTileX or worldToTileY on a Isometric or Hexagonal Tilemap will now always return null instead of doing nothing, as you cannot convert to a tile index using just one coordinate for these map types, you should use worldToTileXY instead. 2022-11-24 00:42:13 +00:00
Richard Davey
c8b40de29c Improved jsdocs 2022-11-24 00:41:55 +00:00
Richard Davey
6aa193c21b Added new getIsoTileAtWorldXY method. 2022-11-24 00:27:01 +00:00
Richard Davey
25bc5dec90 Fixed world to isometric conversion and added optional base origin property.
Fix #5781
2022-11-24 00:26:40 +00:00
Richard Davey
ce12d63d01 The Tilemap.destroyLayer method would throw an error "TypeError: layer.destroy is not a function". It now correctly destroys the TilemapLayer. Fix #6268 2022-11-17 14:34:46 +00:00
Richard Davey
759599e4d1 MapData and ObjectLayer will now enforce that the Tilemap.objects property is always an array. Sometimes Tiled willl set it to be a blank object in the JSON data. This fix makes sure it is always an array. Fix #6139 2022-11-17 14:28:23 +00:00
Richard Davey
05845c6ee0 The ParseJSONTiled function will now run a DeepCopy on the source Tiled JSON, which prevents object mutation, fixing an issue where Tiled Object Layer names would be duplicated if used across multiple Tilemap instances. Fix #6212 2022-11-17 14:17:58 +00:00
Richard Davey
06b1adca14 Lint fix 2022-09-20 22:23:09 +01:00
samme
cfb92c6957 Give TilemapLayer origin (0, 0) 2022-09-19 08:33:33 -07:00
Richard Davey
bdbadd1339 Update CreateGroupLayer.js 2022-09-12 20:17:11 +01:00
Richard Davey
03842535c3 TilemapLayer.setTint is a new method that allows you to set the tint color of all tiles in the given area, optionally based on the filtering search options. This is a WebGL only feature. 2022-05-24 18:27:33 +01:00
Richard Davey
4e391fa6ab
Merge pull request #6108 from samme/feature/TilemapLayer-mask
Add Mask component to TilemapLayer
2022-05-16 15:58:47 +01:00
samme
b6171f6e43 Add Mask component to TilemapLayer 2022-05-10 10:37:45 -07:00
Richard Davey
a4d8e87095 Fixed lint errors 2022-05-10 17:06:53 +01:00
Richard Davey
d8947e84b0
Merge pull request #6081 from adamazmil/iso-map
Fixes getTop for creating MatterTileBody for isometric tiles
2022-05-09 17:09:08 +01:00
Richard Davey
919fa39faa
Merge pull request #6067 from TJ09/commonjs-import-change
Don't reassign the return values from require()
2022-05-09 16:49:58 +01:00
samme
b60761a706 Fix the GetTilesWithinShape() area
Fixes #5640
2022-05-06 09:54:50 -07:00
Adam Azmil
902b916dd1 Fixes getTop for creating MatterTileBody for isometric tiles 2022-04-19 16:43:28 +08:00
T.J. L
ff4ef2872b Don't overwrite the return values from require() 2022-04-02 01:49:19 -07:00
samme
7f37d52ba9 Docs: add CreateFromObjectsClassTypeConstructor 2022-03-30 11:05:27 -07:00
Richard Davey
59fbcc5ca3 Updated copyright year 2022-02-28 14:29:51 +00:00
Richard Davey
58f09aa006 Update Tile.js 2022-02-22 13:51:03 +00:00
Richard Davey
a4308cfa3a Skips Canvas drawImage calls if invalid frame sizes given. Fix #5951 2022-02-03 16:44:24 +00:00
Richard Davey
476ed38e33 Removed deprecated functions 2021-12-07 17:30:56 +00:00
Richard Davey
6b7a000975 Fix eslint 2021-12-07 17:30:56 +00:00
samme
2ebbb970a5 Shorten the 'Valid tilelayer' warning 2021-11-22 08:47:56 -08:00
samme
15b62e1756 Docs: fix types in Phaser.Tilemaps.ObjectHelper#setFromJSON 2021-10-13 15:58:32 -07:00
kainage
369bf06b8e Fix WebGL Tilemap Layer Rendering
* A typo was blowing up rendering the tilemaps all together
* FIx the X coord not being calculated correctly in the `batchTexture` call
2021-10-06 22:01:12 -07:00
Richard Davey
8aa6385cec Fixed JSDocs 2021-10-06 21:39:44 +01:00
Richard Davey
6f4ceba23f
Merge pull request #5855 from lfarroco/master
Fix rendering of Tiled object layers on isometric maps
2021-10-06 21:11:34 +01:00
Leonardo Farroco
fc4db55b26 adds isometric ratio 2021-10-05 23:19:09 -03:00
Richard Davey
7934613e8f The Tilemaps.Tile.getBounds method would take a camera parameter but then not pass it to the methods called internally, thus ignoring it. It now factors the camera into the returned Rectangle. 2021-10-05 21:52:54 +01:00
Leonardo Farroco
64f7b992be linting 2021-10-03 16:35:02 -03:00
Leonardo Farroco
687942e77e Change positioning for isometric object layer from Tiled 2021-10-03 16:30:05 -03:00
Richard Davey
550dd2bd85
Merge pull request #5514 from etherealmachine/patch-1
Fix typing of MapData objects
2021-09-23 16:03:24 +01:00
Richard Davey
5dfab5f5d9 eslint and jsdoc fixes for #5697 2021-09-23 16:02:52 +01:00
Richard Davey
d44e8e782e
Merge branch 'master' into tilemap 2021-09-23 15:47:47 +01:00
Richard Davey
f4c7cb4a6d Fixed jsdocs. Renamed property to tileOffset. Fixed parsing of it. #5637 2021-09-22 11:26:08 +01:00
Richard Davey
736be1abc8 tileOffset hadn't been applied to the canvas renderer #5637 2021-09-22 11:25:39 +01:00
Richard Davey
d0b5b91a5e tileOffset is always set, so this check is redundant #5637 2021-09-22 11:25:13 +01:00
Richard Davey
d16588014f
Merge pull request #5637 from moJiXiang/fix-tilemap-offset
fix tilemap draw offset, maybe it is a bug, related issue #5633
2021-09-22 11:14:15 +01:00
Richard Davey
7434769faf
Merge pull request #5657 from moJiXiang/fix-bug-#5647
fix PutTileAt tile size with releated tileset width and height, releated bug #5647
2021-09-22 11:10:03 +01:00
Richard Davey
2771f280d2
Merge pull request #5750 from jonnytest1/master
assign array by index for skipped chunks
2021-09-22 11:03:44 +01:00
Richard Davey
4fd0a27b15 Formatting fix 2021-09-20 12:34:35 +01:00
Richard Davey
4ab8a4d3a3
Merge pull request #5767 from mayacoda/master
Fix getBounds for creating MatterTileBody for staggered tiles
2021-09-20 12:26:55 +01:00
Richard Davey
4b011e2225
Merge pull request #5790 from samme/fix/createFromObjects-offset
Fix offset for non-tile objects in createFromObjects()
2021-09-20 12:12:41 +01:00
samme
08a600edcb Docs: correct CreateFromObjectLayerConfig.classType
Fixes #5831
2021-09-14 09:10:09 -07:00
samme
788bcb4330 Fix offset in createFromObjects()
Fixes #5789
2021-07-22 11:08:32 -07:00
Maya Nedeljkovich
20ebc6f7a2 Fix getBounds for creating MatterTileBody for staggered tiles 2021-06-30 15:21:13 +02:00
jonnytest1
46009935b4
assign array by index for skipped chunks
loading breaks for layers that skip chunks with no data
2021-06-18 02:34:05 +02:00
Brown Dragon
a420b6e46a Improve ObjectHelper docs even if they are just internal only 2021-05-21 09:49:19 -04:00
Brown Dragon
02e67e682f Addresses https://github.com/photonstorm/phaser/issues/5697
This diff adds:
* `type` support to `createFromObjects`. See https://doc.mapeditor.org/en/stable/manual/custom-properties/#typed-tiles for the description in Tiled; this is currently not supported as a parameter, and its usage is documented within the diff.
* `createFromObjects` will also examine the tileset. As per the above link, created objects are supposed to inherit properties from the tile with the same gid, but Phaser doesn't do that right now. After this diff it optionally will, by passing an additional parameter to `createFromObjects`.
> NOTE: I'd be very happy to make this a default behavior, but that's somewhat backwards breaking
* `createFromObjects` will attempt to use the same texture and frame as Tiled when creating the object. This will behave poorly if there is no such frame (for instance, if the texture were loaded with `this.load.image` instead of `this.load.spritesheet`, or using different geometry. However, the current behavior draws missingimage, so this is a strong improvement.
2021-05-13 17:05:03 -04:00
mojixiang
7f161fa3ad
Update PutTileAt.js 2021-04-15 18:24:06 +08:00
moJiXiang
f686a9674b fix PutTileAt tile size with releated tileset width and height, releated bug #5647 2021-04-15 18:04:14 +08:00
moJiXiang
7579702b7a fix tilemap draw offset, maybe it is a bug, related issue #5633 2021-04-01 18:43:27 +08:00
Richard Davey
0c05d681e6 Update ParseTilesets.js 2021-02-16 11:44:49 +00:00
Richard Davey
e8fe16c417 Fixed function name and formatting #5292 2021-02-16 11:44:43 +00:00
Richard Davey
be2dad8a70
Merge pull request #5292 from browndragon/tiled
Fix up tiled json parsing.
2021-02-16 11:35:24 +00:00
Richard Davey
3493c4cd7b
Merge pull request #5523 from veleek/veleek/tiledobjectprops
Load Tiled object properties using names.
2021-02-10 09:30:56 +00:00
Ben Randall
40ff85bdc5 Fix IsometricWorldToTileXY result
IsometricWorldToTileXY returns a tile that is offset by (-0.5, 0.5)
tiles from the expected location.  This fixes the function so that
Tile => World => Tile conversion returns the same value.
2021-01-28 12:25:51 -05:00
Ben Randall
fea65988f4 Load Tiled object properties.
Tiled objects have properties as an array of objects like:

  { name: ..., type: ..., value: ...}

Update the parser to load these using the name/value properties instead
of just treating it as an array and loading properties named '0', '1',
etc.  This is the same as how properties are handled in ParseTilesets.js
2021-01-23 14:59:33 -05:00
James Pettit
44fb0e2086
Fix typing of MapData objects.
I believe that objects is going to be an array as the result of calling this function: 7834095789/src/tilemaps/parsers/tiled/ParseObjectLayers.js (L20)

I'm not 100% sure on the type of the array elements (Phaser.Types.Tilemaps.ObjectLayerConfig), but that appears to be what ParseObjectLayers returns.
2021-01-19 15:17:12 -08:00
Richard Davey
d1ece18c93 The method TilemapLayer.weightedRandomize has changed so that the parameter weightedIndexes is now first in the method and is non-optional. Previously, it was the 5th parameter and incorrectly flagged as optional. This change was made to the docs but not the parameters, but now works according to the docs 2021-01-14 09:48:16 +00:00
Richard Davey
22e170e417 Updated documentation. Fix #5488 2021-01-06 11:07:05 +00:00
Richard Davey
cf2c607ac1 Canvas Tilemap Rendering is now working again. Fix #5480 2021-01-04 11:52:35 +00:00
Richard Davey
1d58620e35 Don't render debug if not orthogonal #5447 2020-12-14 09:48:29 +00:00
Richard Davey
15a6f50d2c Fixed functions not appearing in the namespace. Fix #5432 2020-12-07 10:11:47 +00:00
Richard Davey
725271249f No tileset? Continue the loop. 2020-12-04 13:07:14 +00:00
Richard Davey
2e91763abc Fixes lots of default parameters 2020-11-26 12:55:40 +00:00
Richard Davey
0ee1338765 Better post pipeline call (less code) 2020-11-26 09:51:40 +00:00
Richard Davey
d2e2e86ef1 Updated accessor 2020-11-23 16:22:11 +00:00
Richard Davey
ec5da6930c Added post pipeline support to all Game Objects 2020-11-23 16:17:13 +00:00
Richard Davey
ea2f69de3b JSDoc fixes 2020-11-23 15:32:30 +00:00
Richard Davey
a5cb3779df JSDoc fixes 2020-11-23 15:29:08 +00:00
Richard Davey
28d925b875 JSDoc fixes 2020-11-23 15:06:45 +00:00
Richard Davey
ecb567766b Fixed filtering and style types 2020-11-23 10:54:14 +00:00
Richard Davey
8698a03bad JSDoc fixes 2020-11-23 10:48:24 +00:00
Richard Davey
417f7684c3 More integer to number changes 2020-11-23 10:32:00 +00:00
Richard Davey
55093945b0 Replace integer[][] with number[][] 2020-11-23 10:24:10 +00:00
Richard Davey
3f511a73cd Replace integer[] with number[] 2020-11-23 10:23:10 +00:00
Richard Davey
02c34cd64e Replace integer with number 2020-11-23 10:22:13 +00:00
Richard Davey
d852108154 JSDoc fixes 2020-11-23 10:19:39 +00:00
Richard Davey
0b589564ea JSDoc fixes 2020-11-20 16:37:53 +00:00
Richard Davey
c5d7c94cb4 Fixed JSDocs 2020-11-20 16:20:35 +00:00