photonstorm
6d967b6545
Error in diffX and diffY calculation in Tilemap.paste (thanks @amelia410 #1446 )
2015-01-20 10:49:15 +00:00
Paul
c361e6f535
TilemapLayer - fix for regression typo
2015-01-05 20:37:00 -08:00
Richard Davey
b4678b6b56
Merge pull request #1474 from nextht/remove-tw-and-th-init
...
Remove tw and th init
2015-01-05 11:15:28 +00:00
Paul
114d967272
TilemapLayer - quibbles
...
- Updated shiftCanvas usage for consistency with renderSetting access
2014-12-31 10:06:48 -08:00
Paul
76aa601d47
TilemapLayer rendering double-copy
...
- Memory optimization of delta-scroll shifting.
- The copy canvas is shared between all TilemapLayers
- The copy is done in segments to reduce the memory usage of the copy
canvas. Currently this is a 1/4 ratio.
- Device has the feature (by browser) check to see if bitblt works
- TilemapLayer will automatically enable the double-copy as needed
- Device.whenReady can be used to override the device value
2014-12-31 09:54:37 -08:00
Paul
0ad21e3c84
Merge remote-tracking branch 'upstream/dev' into wip-tilelayer-safaribug
2014-12-30 23:07:55 -08:00
nextht
18b3a3cc5b
Remove useless initilization for tw and th code
...
tw and th have been initialized twice, the first time is useless.
2014-12-20 17:45:27 +08:00
Paul
466b021ca0
TilemapLayer: Re-added secondary copy-canvas
...
- This change uses a secondary canvas and rectangle clearing instead of a
'copy' composition on the same canvas. This should hopefully address
the flickering issue in Safari and Safari Mobile
2014-12-12 00:26:49 -08:00
paul-reilly
ce603c3510
TilemapParser: fixed check for image collection
2014-12-10 22:42:17 +00:00
Paul
92a20a5f5f
TileLayer - globalCompositionOperation set once
...
This might fix a safari issue; it also avoids repeatedly setting the
[same] composition operation and saving/loading context states.
2014-12-09 20:21:31 -08:00
Paul
47c49b18cf
Tilemap - Tiled image size calculation
...
Addresses https://github.com/photonstorm/phaser/issues/1371 - where Tiled
used floor calculations and Phaser used round calculations.
There are no breaking changes with the demos; however, if there was code
that relied on behavior that _deviated_ from the defactor Tilemap behavior
then may be prone to "incorrect results" if using tileset images that are
not correctly aligned to tilesize multiples.
This also adds/corrects some warnings:
- A warning when the tileset size is not an even multiple (it was
suppressed due to using `round` prior to the checks.
- A warning if loading an image changes the cols/rows of a Tileset
- A specific warning for Tileset Image Collections which are not yet
supported
2014-11-26 19:50:07 -08:00
photonstorm
a2aa987920
jshint fixes
2014-11-11 01:09:57 +00:00
photonstorm
a2b7d339a2
Tilemap.createFromTiles will convert all tiles matching the given tile index (or an array of indexes) into Sprites. You can optionally then replace these tiles if you wish. This is perfect for games when you want to turn specific tiles into Sprites for extra control. The Sprites have an optional properties object which they can be populated with.
2014-11-11 01:05:59 +00:00
photonstorm
347978679d
docs update
2014-11-11 01:05:59 +00:00
photonstorm
6d8fb60f77
Removed TilemapLayer.index getter as it incorrectly refereneced a property that didn't exist, breaking most demos. Couldn't see an obvious reason for the getter so restored previous property and tested all examples, and all run now (and faster too thanks to the rest of the changes made in TilemapLayer).
2014-11-08 14:50:00 +00:00
Paul
03af5e1582
TilemapLayer/Tileset - Documentation consistency updates for Phaser
2014-10-30 02:00:20 -07:00
Paul
75f13cfe44
TilemapLayer / Tileset documentation to Phaser conventions
...
- Reverted @member to @property for uniformity
- Expanded some comments
2014-10-28 22:21:47 -07:00
Paul
ce2acdd54c
TilemapLayer / Tileset
...
- Minor regression fix, increasing argument specifity/documentation
2014-10-25 22:17:31 -07:00
Paul
6108091035
Merge branch 'dev' of https://github.com/photonstorm/phaser into wip-tilelayer
2014-10-25 22:10:20 -07:00
Paul
22be4b0bf6
TilemapLayer / Tileset performance and documentation
...
TilemapLayer
- Added "delta scroll rendering"
- Enabled (by default) via `renderSettings.enableScrollDelta`
- Dramatic CPU reduction: 30% to 2% scrolling 50x37 region
- Side-effect: fixed some Chrome de-opt issues with `render`
- Various rendering updates and removal of many `_mc` field
- Made `index` a read-only propert that reflects the layer.index
- Creates a local cache from tile index -> tileset, added `resetTilesetCache`
- Also prevents crash when an index not associated with a tileset is
used; see `missingImageOverfill`.
- Various debug options moved to `debugSettings` and simplified; documentation updated.
- Uses `debugSettings.missingImageOverfill` and `tileColor` (deprecated) to display invalid tileset images
- Only change the context alpha when the tile alpha changes; in Chrome 38
this removed a .5% penalty
- Added `renderSettings` which controls misc. rendering/optimizations.
- Updated documentation to @member, clarified
Tileset
- Added `containsTileIndex` method to allow being queried if the specific tile index is handled/supported.
- Uses a firstgid bias and interlacing to fit the data in single densely packed array.
- Updated documentation to @member, clarified
2014-10-25 21:48:59 -07:00
Richard Davey
35c42e3073
Tilemaps in WebGL wouldn't update after the first frame due to a subtle change in how Pixi uploads new textures to the GPU.
2014-10-25 10:09:04 +01:00
photonstorm
96fd0ade74
JSDoc fixes.
2014-10-21 22:43:42 +01:00
photonstorm
5e734a6bb6
Pixi v2 UV update fixes.
2014-10-17 16:52:47 +01:00
photonstorm
e5eea56c9b
jsdoc updates.
2014-09-16 19:44:04 +01:00
photonstorm
410cfd2d71
Code reformatting.
2014-08-29 18:06:01 +01:00
photonstorm
92386221e4
Tile.setCollision now adjusts the tiles interesting faces list as well, this allows you to create one-way jump tiles without using custom callbacks on a specific tile basis (thanks @RafaelOliveira #886 )
2014-08-29 18:03:32 +01:00
photonstorm
5546e5903c
Tiled polylines are now imported into the map objects property as well as map collision ( #1117 )
2014-08-29 16:56:30 +01:00
photonstorm
10e7d8ff7e
TilemapParser.getEmptyData now correct adds an empty bodies array into layers. This fixes an issue where p2 couldn't convert a csv map into collision tiles (thanks @sru #845 )
2014-08-29 16:30:29 +01:00
photonstorm
2d4d1a050d
Tilemap.hasTile now checks the Tile.index value and will return false if the index is -1 (i.e. a non-active tile) (thanks @elgansayer #859 )
2014-08-28 04:30:13 +01:00
Richard Davey
afb094a6eb
Merge pull request #1126 from beeglebug/feature/tile-properties
...
copy tile properties to tiles when parsing map
2014-08-28 01:35:20 +01:00
beeglebug
23f077a4e8
copy tile properties to tiles when parsing map
2014-08-21 21:08:05 +01:00
Alessandro Cuzzocrea
5e76eb4834
Added support for Tiled object's type field
2014-08-16 21:44:21 +02:00
photonstorm
9c1f39d284
jshint fix
2014-07-18 01:07:45 +01:00
photonstorm
49bb45c42e
Tilemap.swap now accurately swaps from A to B and from B to A (thanks @noidexe #1034 )
2014-07-18 00:29:24 +01:00
photonstorm
2293b64c94
Removing debug / console.log output.
2014-07-09 05:49:13 +01:00
sivael
cdaab269a0
Update Tilemap.js
2014-06-27 14:36:06 +02:00
sivael
7fb5c8cf5d
Update Tilemap.js
2014-06-27 14:25:56 +02:00
sivael
c7cae6ece7
Update Tilemap.js
2014-06-27 14:21:45 +02:00
sivael
05ce6f60a1
TileMap update performance
...
Discussion: http://www.html5gamedevs.com/topic/7409-tilemaps-changing/
It should remove the problem of updating stuff in a 100x100 tilemap making the engine recalculate every single update.(390 tiles changed in that map makes it a 100x100x390 loop.
Whould make the recalculate parameter in the setCollision functions unnecessary as well.
2014-06-27 14:10:11 +02:00
photonstorm
e923e230e0
TilemapLayers can now be used with an unbounded camera (a camera that can move beyond the world boundaries). Currently, when an unbounded camera moves outside of the world, tilemaps start acting weird because they only render themselves strictly within the world limits. With this change, the tilemap will continue scrolling and show empty space beyond its edge (thanks @jotson #851 )
...
TilemapLayer.wrap property - if true the map is rendered as if it is on the surface of a toroid (donut) instead of a plane. This allows for games that seamlessly scroll from one edge to the opposite edge of the world without noticing the transition. Note that the World size must match the Map size (thanks @jotson #851 )
2014-06-11 00:15:02 +01:00
Richard Davey
fddd1e9f7a
Merge pull request #851 from jotson/dev
...
Render tilemap when camera outside of world bounds, layer wrapping
2014-06-11 00:05:23 +01:00
JeanDavidDaviet
a4b279b9cc
updated doc for Phaser.Tilemap#createBlankLayer
2014-06-04 19:01:10 +10:00
John Watson
14e1f0fcc6
Render tilemap when camera outside of world bounds, layer wrapping
...
Prior to this change, TilemapLayers always restricted themselves to
rendering strictly within the world bounds. If the camera was allowed
to go beyond the world bounds, then the tilemap would appear to stop
scrolling once the camera hit the world edge. This allows the tilemap
to continue scrolling, showing empty space beyond the edge of the map.
Additionally, when the new "wrap" parameter is true, the tilemap will
render its opposite edge in the empty space. This simulates the map as
if it was the surface of a toroid (donut) rather than a flat plane.
2014-05-27 14:51:44 -07:00
Simon Boyé
7e43248412
Fixed Tilemap.removeTile issue to put tile of index -1 instead of null.
2014-05-19 22:58:52 +02:00
photonstorm
cfadaf3e70
Tilemap.layer is a getter/setter to the current layer object (which can be changed with Tilemap.setLayer)
2014-05-15 22:30:32 +01:00
photonstorm
1d13855abb
Tilemap.searchTileIndex allows you to search for the first tile matching the given index, with optional skip and reverse parameters.
2014-05-15 19:56:56 +01:00
Richard Davey
5770b654a6
Merge pull request #791 from tigermonkey/dev
...
[tilemap] parse polygon, ellipses and rectangles
2014-05-14 00:06:53 +01:00
Maximilian Mader
d7ba7b3a62
Improve TileMap's setCollsion functions
...
Now one can decide in 'setCollision', 'setCollisionBetween', 'setCollisionByExclusion' and 'setCollisionByIndex' to recalculate the collision faces or not.
I was able to decrease the time it takes to set the collisions from 1880ms to 440ms in my case,see http://www.html5gamedevs.com/topic/6328-camera-rendered-area-move-tilemaplayer/?p=38037
2014-05-12 17:42:54 +02:00
photonstorm
041bbd430c
Tilemap.getTile has a new nonNull parameter. If true it won't return null
for empty tiles, but will return the actual Tile in that location.
2014-05-07 01:30:48 +01:00
photonstorm
91f8f96a76
TilemapWalker allows you to set a location marker into a tilemap. You can then move around with commands such as moveForward, turnLeft, etc.
...
New consts: Phaser.Tilemap.NORTH, SOUTH, EAST and WEST to use with the TileMapWalker Plugin.
2014-05-07 00:10:48 +01:00
Pablo Barbáchano
7f733a0b82
[tilemap] parse polygon, ellipses and rectangles
2014-05-01 13:13:53 +02:00
photonstorm
422e769a3e
Tilemap.createFromObjects will now force the creation of the property again even if it doesn't exist (regression fix from 2.0.4)
2014-05-01 11:42:15 +01:00
photonstorm
55dc748953
Tilemap.getTile and getTileXY used to return null
in 2.0.3 but returned a Tile object in 2.0.4 (with an index of -1), they now return null
again.
2014-04-29 21:28:14 +01:00
photonstorm
74108148ac
CSV Tilemap tiles would incorrectly set the Tile layer reference, causing collision to fail (thanks @Chapelin, fix #692 )
2014-04-28 23:21:57 +01:00
photonstorm
e9436293a8
Tilemap.addTilesetImage will now raise a console.warn if you specify an invalid tileset key and not create the tileset rather than pick the default set.
2014-04-28 13:47:27 +01:00
photonstorm
65022ccc55
Blank Tilemaps no longer create null
tiles, but instead create Tile objects with an index of -1 which can be replaced and updated like any other tile.
...
Tilemap.fill would throw an error if called on a blank tilemap full of null values (thanks @DrHackenstein, fix #761 )
2014-04-28 02:42:38 +01:00
photonstorm
b1153299c0
Tilemap.fill would throw an error if called on a blank tilemap full of null values (thanks @DrHackenstein, fix #761 )
2014-04-28 02:23:07 +01:00
photonstorm
1ef617ca82
Updated Tilemap.destroy documentation to clarify layer removal (issue #740 )
2014-04-28 01:39:45 +01:00
photonstorm
e9cb345261
P2.World.convertTilemap now correctly checks the collides parameter of the tiles as it converts them.
2014-04-14 13:52:53 +01:00
Raeven0
7fa9e4639e
correct Tilemap.hasTile(...) parameter typing
...
Member methods of Tilemap which take a layer parameter use getLayer on
that parameter to allow passing int, string, and TilemapLayer objects.
Tilemap.hasTile(...) should do so as well.
2014-04-01 20:26:16 -05:00
photonstorm
38d722c1e5
Tilemap.removeTile(x, y, layer) lets you remove the tile at the given coordinates and updates the collision data.
...
Tilemap.removeTileWorldXY lets you remove the tile at the given pixel value coordinates and updates the collision data.
If you pass `null` to Tilemap.putTile as the tile parameter it will pass the call over to Tilemap.removeTile.
2014-04-01 13:36:42 +01:00
Christian Wesselhoeft
89a1639952
Fix jshint issues in src/tilemap
2014-03-25 14:56:04 -07:00
Christian Wesselhoeft
61f18b675c
Trim trailing whitespace.
2014-03-25 14:56:04 -07:00
photonstorm
26a89f0b84
New build files with tilemap callback fixes in.
2014-03-24 01:39:09 +00:00
photonstorm
49bcd2edd2
Tilemap fixes.
2014-03-24 00:30:05 +00:00
photonstorm
e1c98ba617
You can now create multiple blank layers in a Tilemap.
2014-03-23 23:58:01 +00:00
Richard Davey
eddf1edead
Tilemap updates
2014-03-23 10:35:31 +00:00
photonstorm
539d70d581
Testing multi layer blank map updates.
2014-03-22 08:33:38 +00:00
photonstorm
0fa54b0b24
TileSprites now emit outOfBounds and enterBounds events accordingly.
...
TileSprites working with physics bodies again.
2014-03-21 18:04:24 +00:00
photonstorm
46d5069110
Tilemap.createFromObjects has a new parameter: adjustY, which is true by default. Because Tiled uses a bottom-left coordinate system Phaser used to set the Sprite anchor to 0,1 to compensate. If adjustY is true it now reduces the y value by the object height instead.
2014-03-17 23:54:04 +00:00
photonstorm
90ef694347
Tilemap.createFromObjects used to set the Sprite anchor to 0,1 because Tiled uses a bottom-left coordinate system. It now calculates the offset in TilemapParser.
2014-03-17 23:27:13 +00:00
photonstorm
30a04985f7
Working through blank tilemap fix.
2014-03-17 16:10:19 +00:00
photonstorm
b9ac0d565e
Fixed Tile callback check in Arcade Physics ( fix #562 )
2014-03-16 00:53:50 +00:00
photonstorm
0e29bd4300
Tile Collision Callbacks working properly. CSV / Blank map examples added. Multiple tilesets per map working again. That's it folks!
2014-03-14 04:21:56 +00:00
photonstorm
f3ff9c197f
Fixed all the tilemap examples.
2014-03-14 03:26:06 +00:00
photonstorm
017a017b96
TilemapLayer.getRayCastTiles will let you get all tiles that hit the given line for further processing.
...
Fixed Tilemap collision. Added new TILE_BIAS const to aid with fast/small sprites.
2014-03-14 02:33:58 +00:00
photonstorm
f678d1fd31
Line now has x, y, width, height, top, bottom, left and right properties, so you can effectively get its bounds.
2014-03-14 00:19:45 +00:00
photonstorm
5297497632
Tilemap collision finally getting closer.
2014-03-13 22:49:08 +00:00
photonstorm
e955145707
Added p2 kill and reset test + nearing completion on tilemap collision.
2014-03-13 21:14:18 +00:00
photonstorm
c8e63582a4
Lots of small tweaks to pass jshint.
2014-03-13 16:49:52 +00:00
Dan Cox
3b7039ad32
Documentation change: swap for swapTile
...
In both Phaser 1.1.6 and 1.2, it says "swapTile" when it means "swap".
2014-03-11 23:56:12 -04:00
Dan Cox
5fcc8db8a4
Tilemap.swap() called twice should not flip values
...
Repeat calls to swap() should not affect index values a second time.
"swap(1,2); swap(1,2)" should not be the same as "swap(2,1)."
(This also affects Phaser 1.1.6.)
2014-03-11 23:41:37 -04:00
photonstorm
58887d9bc6
Moved all of the Tilemap to P2 body methods into P2 itself (makes more sense this way) and tidied them up.
2014-03-11 15:02:59 +00:00
photonstorm
c73b4eaea0
json is now the default tilemap format when not defined (thanks RyanDansie, #528 )
...
Updated docstrap
2014-03-10 00:50:06 +00:00
photonstorm
1c68ff9042
Tilemap.createFromObjects allows you to specify you own object type to be created if you want a class that extends Phaser.Sprite.
2014-03-07 03:19:07 +00:00
photonstorm
3e93f24583
New split physics system is implemented. Still tidying-up, but ArcadePhysics, P2 and Ninja Physics are in and configured. Lots more examples required, and tilemap collision mostly broken in Arcade at the moment. Time to implement in Ninja.
2014-03-06 06:29:19 +00:00
photonstorm
5a6ae5f696
Tilemap.putTile now correctly re-calculates the collision data based on the new collideIndexes array ( fixes #371 )
...
Tilemap.putTile can now insert a tile into a null/blank area of the map (before it could only replace existing tiles)
2014-03-04 03:08:35 +00:00
photonstorm
4a370c82cf
You can now load in CSV Tilemaps again and they get created properly ( fixes #391 )
...
You can now create blank Tilemaps and then populate them with data later.
2014-03-03 13:45:47 +00:00
photonstorm
d8f5832fa2
Completely empty Tilemaps can now be created. This allows for dynamic map generation at runtime.
...
Loads of updates across most the Tilemap files. Not finished yet, still CSV loading to do and a multi-tileset issue to resolve, but it's a lot more flexible now.
2014-03-03 05:19:46 +00:00
photonstorm
418a161b46
Testing webgl debug overlay.
2014-03-02 20:51:44 +00:00
photonstorm
09d4a35b7f
Fixed issue where Phaser.Canvas.create would always make a screencanvas for CocoonJS, but that should only happen once. New parameter toggles it.
2014-02-28 03:55:06 +00:00
photonstorm
34ee2b0b20
Fixed issue with CocoonJS detection in Device.
...
Fixed docs issue in Tilemap.
Created landscape pointer test, confirmed working fine (issue #276 )
2014-02-28 03:09:04 +00:00
photonstorm
29fcfc515d
Fixed TilemapParser - would spit out a tileset warning if margin/spacing were set ( fix #485 , thanks Cybolic)
2014-02-26 01:20:24 +00:00
photonstorm
994eaff92b
StateManager fixes for when you change state in the create function.
...
TilemapLayer update for WebGL.
2014-02-26 00:58:19 +00:00
Jonas Malm
276ef9c268
Method expects body
...
Fixes crash in map.generateCollisionData
2014-02-23 17:42:39 +01:00
photonstorm
5a00a0ad97
TilemapParser will now throw a warning if the tileset image isn't the right size for the tile dimensions ( fixes #377 )
2014-02-21 16:57:45 +00:00
photonstorm
251b819bdb
Fixed InputHandler group check #463
2014-02-21 10:06:53 +00:00
photonstorm
5d5c64d22f
Tilemap.createCollisionObjects will parse Tiled data for objectgroups and convert polyline instances into physics objects you can collide with in the world.
...
After defining tiles that collide on a Tilemap, you need to call Tilemap.generateCollisionData(layer) to populate the physics world with the data required.
Debug.renderPhysicsBody updated to take camera location and body rotation into account.
Body movement functions put back to velocity :)
Updated to latest dev version of pixi and latest p2.js
Updated docs
2014-02-18 03:01:51 +00:00
photonstorm
0294a4735d
Fixes issues reported in #389
2014-02-10 01:49:58 +00:00
photonstorm
ee3f6d8e7f
Tilemap had the wrong @method signatures so most were missing from the docs.
2014-02-08 07:24:40 +00:00