Lisandro Lorea
8528f0c700
Fixed variable naming style
2015-09-13 12:15:02 -03:00
Lisandro Lorea
308ce6b57c
Add support for TiledJSON with base64 encoding
...
Tiled 0.13.0 added support for layer data compression when exporting as LUA or JSON. This means that any .tmx stored unsing base64 encoding will start exporting layer data as a base64 encoded string rather than a native array.
Phaser would try to load the level anyway without emitting any errors, resulting in a corrupted level while playing.
This PR adds detection and support for base64 encoded levels as long as they don't use compression.
2015-09-13 12:07:57 -03:00
photonstorm
486c15f16f
New docs.
2015-08-24 15:43:45 +01:00
photonstorm
cc7b632a37
Phaser.TilemapParser.INSERT_NULL is a new boolean that controls what happens when the parser encounters an empty tile: When scanning the Tiled map data the TilemapParser can either insert a null value (true) or a Phaser.Tile
instance with an index of -1 (false, the default). Depending on your game type depends how this should be configured. If you've a large sparsely populated map and the tile data doesn't need to change then setting this value to true
will help with memory consumption. However if your map is small, or you need to update the tiles (perhaps the map dynamically changes during the game) then leave the default value set (thanks #1982 )
2015-08-24 12:36:23 +01:00
photonstorm
5056eedb58
Optimised local vars to reduce file size.
...
Trying out null tile properties.
2015-08-24 12:03:32 +01:00
photonstorm
09f5742410
Tilemap.shuffle was calling the deprecated Phaser.Utils.shuffle, which has now moved to Phaser.ArrayUtils.shuffle.
2015-08-24 12:02:43 +01:00
photonstorm
5ffb5b558d
Tilemap.createFromObjects has been strengthened so that will only create Sprites for matching gids/ids/names. It also only sets the Sprite width and height values if they are present in the Tiled data (thanks @pparke #2012 )
2015-08-20 13:22:06 +01:00
photonstorm
e901fb80f6
Merging in the CanvasPool changes to the core.
2015-08-03 14:46:55 +01:00
Imanol Fernandez
e41dba7f0c
Fix unmatched context.save() & context.restore() calls
2015-07-24 17:36:56 +02:00
photonstorm
f15fe6706c
All undefined argument checks were changed from if (typeof x === 'undefined')
to if (x === undefined)
removing the typeof check and saving some bytes across the codebase in the process.
2015-07-22 10:37:15 +01:00
Richard Davey
06658fa1e0
TilemapLayer.resize allows you to resize a TilemapLayer. It will update the internal canvas object and corresponding texture dimensions ( #1881 )
2015-07-07 03:27:28 +01:00
Richard Davey
8aaa8de985
Fixed issue with tilesets not updating correctly.
2015-07-07 02:38:14 +01:00
Richard Davey
a1f618f54f
Debugging tileset issue.
2015-07-07 02:18:53 +01:00
photonstorm
8919e4e128
Trying out resize method.
2015-07-02 17:19:57 +01:00
photonstorm
698167a596
Tiled Image Collection support is now available and has been added to the TilemapParser and Tilemap classes (thanks @asyed94 #1879 )
2015-07-02 13:53:02 +01:00
asyed94
6771c656e9
Removed trailing whitespace.
2015-06-29 16:32:16 -05:00
asyed94
8fefabcf59
Implemented Tiled Image Collection support.
...
Created class ImageCollection.js to internally handle Image Collection
data.
Added imagecollections member to Tilemap.js to access parsed Image
Collection data.
Added ability to parse Image Collections from Tiled json data to
TilemapParser.js
2015-06-27 15:30:26 -05:00
photonstorm
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
04a25c5d9b
Small fix + jsdoc update.
2015-06-17 01:04:55 +01:00
Richard Davey
14733e9b90
Tilemap.addTilesetImage can now accept a BitmapData as the key
parameter and will use the BitmapData to render the tileset with instead of an image from the cache (thanks to @unstoppablecarl for the idea #1838 )
2015-06-16 23:17:46 +01:00
photonstorm
89c11b9d48
TilemapLayer swapped to use full Phaser.Sprite to allow for input events, bringToTop, etc.
2015-06-16 16:40:45 +01:00
photonstorm
5ef9b0a5e6
TilemapParser.parseTiledJSON would ignore 'falsey' properties set on Objects in Tiled JSON tilemaps, such as x: 0
or visible: false
. These properties are now accurately copied over to the destination map data (thanks @MaksJS #1818 )
2015-05-27 18:07:33 +01:00
photonstorm
7b011fe0d3
Fix #1742
2015-04-14 09:31:04 +01:00
photonstorm
f155ad452c
Tilemap.createFromObjects has been updated for Tiled 0.11 and can now look-up object layers based on id, uid or name. It will also now copy over Sprite scaling properties if set (thanks @mandarinx #1738 )
2015-04-13 12:40:12 +01:00
Richard Davey
78e7be5c96
Merge pull request #1738 from mandarinx/patch-1
...
Looking up object layers based on id, uid or name
2015-04-13 12:35:24 +01:00
photonstorm
7b8a430aac
TilemapLayer docs incorrectly reported it as extending Phaser.Image, but it doesn't share the same components so has been updated.
...
TilemapLayer was missing the Input component (thanks @uhe1231 #1700 )
2015-04-13 12:23:30 +01:00
Thomas Viktil
b406a61262
Looking up object layers based on id, uid or name
...
The description of the method stated that you could pass a string to look up an object layer based on its name, but the original code only looked for a gui property, regardless of type.
I'm using Tiled 0.11.0 on OSX, and my exported json-file doesn't contain a gui property on the object layers. Here's a snippet of my file:
```
{
"layers":[
{
"draworder":"topdown",
"height":0,
"name":"Objects",
"objects":[
{
"height":48,
"id":1,
"name":"pier",
"properties":
{
},
"rotation":0,
"type":"",
"visible":true,
"width":64,
"x":208,
"y":240
}],
"opacity":1,
"properties":
{
"type":"pier"
},
"type":"objectgroup",
"visible":true,
"width":0,
"x":0,
"y":0
}]
}]
}
```
The property in my file is called id and not uid. This might be due to changes in one of the later releases of Tiled. I kept the check for uid to avoid possibly breaking compatibility with older versions of Tiled.
I also added scaling of the sprite.
Feel free to make formatting changes, or rewrite the function to better fit the programming style of Phaser.
2015-04-11 22:16:17 +02:00
Alan Smithee
d2e3a69525
Adds nonNull parameter to Tilemap.getTileWorldXY
...
Since Tilemap.getTile lets you specify wether to return null
or an empty tile when index is -1, the WorldXY equivalent
should offer the same possibility for a more unified interface.
2015-04-06 10:08:37 +00:00
photonstorm
1486e166bd
Added physicsType property.
2015-03-23 15:04:27 +00:00
Paul
dcc83ec793
Tilemap renderer - context save/restore
...
- Added context save/restore; the secondary issue when the canvas
is copied from later, and if any alpha is applied
2015-03-16 22:05:46 -07:00
Paul
54dba67f50
Tilemap rendering sets initial state better
...
- #1666 - previous alpha state could bleed through.
Now the initial alpha and composite modes are set explicitly.
2015-03-16 21:35:39 -07:00
photonstorm
f4eff6359c
Added isArray check.
2015-03-05 14:02:24 +00:00
photonstorm
364f3b3cb8
Formatting.
2015-03-05 14:02:04 +00:00
Paul
0e5272b217
Merge remote-tracking branch 'upstream/dev' into wip-components-toproto
...
Conflicts:
src/gameobjects/Image.js
src/gameobjects/Rope.js
src/gameobjects/Sprite.js
src/gameobjects/Text.js
src/gameobjects/TileSprite.js
src/gameobjects/components/Core.js
2015-02-28 15:51:47 -08:00
Michael Zekoff
510353f6fb
Fix row/col count formula.
...
This fixes the rendering issue for tilesets with margin/spacing
as described in photonstorm/phaser#1641 .
2015-02-26 04:34:41 +00:00
photonstorm
a69e53f901
Copyright date change.
2015-02-25 03:36:23 +00:00
photonstorm
c9939f8691
Tilemap fix #1635
2015-02-24 22:57:59 +00:00
Paul
4f747a1c00
Components - moving install to prototype
...
- This ensures the components are regsitered once per type
instead of once per instance (which is duplicate work)
2015-02-22 20:44:11 -08:00
photonstorm
41e2fbff55
TilemapLayer no longer extends Image, but is a GameObject of its own.
2015-02-17 16:38:27 +00:00
photonstorm
8483eac6aa
Removing all use of _cache from all Game Objects.
2015-02-16 17:22:51 +00:00
photonstorm
daf8440247
Tile.properties is now unique to that specific Tile, and not a reference to the Tileset index bound properties object. Tile.properties can now be modified freely without impacting other tiles sharing the same id ( #1254 )
2015-02-11 21:40:37 +00:00
photonstorm
29fd37aed7
Formatting update.
2015-02-11 05:19:00 +00:00
Mika Turunen
be3edd8437
Now the backwards compatibility is not broken
...
As implementation is leaning on 0.11.0 feature of Tiled, I made sure the earlier Tiled files that might be used are not going to break from this. Defaulting to empty string if the .type property is not defined by Tiled (for Tiled < 0.11.0), otherwise we use the provided value.
2015-02-10 14:54:14 +02:00
Mika Turunen
8a197b6023
Read ObjectLayer Objects .type property for Tiles
...
Why isn't the .type already read from the objects details as it's there? Latest release version of Tiled 0.11.0 has this field for Objects and it's quite extensively used by other frameworks.
Well, I need this and I suppose there are other people too who might be interested in having this in here too. Currently I go around this by creating a custom property of "type" and setting my value on it but that's just extremely silly.
2015-02-10 11:05:28 +02:00
Richard Davey
b66a0aa11a
Merge pull request #1605 from mickez/tilemaplayer_scale
...
Added scaling capability to TilemapLayer
2015-02-09 20:02:48 +00:00
photonstorm
35a04b2f1e
TilemapParser now supports Tiled 0.11 version maps which includes the rotation
property on all Object types.
...
Tilemap.createFromObjects now checks for a `rotation` property on the Object and if present will set it as the Sprite.angle (#1433 )
2015-02-08 23:25:41 +00:00
photonstorm
6d86952f98
JSDoc fix.
2015-02-08 21:57:09 +00:00
emailto@niklasberg.se
a0ea73a4cd
Support for tiles rotated and/or flipped in Tiled
2015-02-08 21:21:39 +01:00
emailto@niklasberg.se
a70dd81a80
Support for tiles rotated and/or flipped in Tiled
2015-02-08 21:03:19 +01:00
Michael Rehn
bb2e263345
Changed to bracket on new line to follow the rest of the codes style
2015-02-07 21:31:17 +01:00