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
5e734a6bb6
Pixi v2 UV update fixes.
2014-10-17 16:52:47 +01:00
photonstorm
2293b64c94
Removing debug / console.log output.
2014-07-09 05:49:13 +01: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
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
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
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
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
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
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
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
994eaff92b
StateManager fixes for when you change state in the create function.
...
TilemapLayer update for WebGL.
2014-02-26 00:58:19 +00:00
photonstorm
0896c2fac7
Updating copyright year and README.
2014-02-05 16:54:59 +00:00
photonstorm
45b6d5a741
Removed: Debug.renderSpriteTouching, Debug.renderLocalTransformInfo, Debug.renderWorldTransformInfo, Debug.renderSpriteCollision and Debug.dumpLinkedList.
...
Debug.renderPhysicsBody(body, color) is extremely useful for debugging the new physics bodies. Will draw the outline + points in the color given.
Debug.renderBodyInfo(sprite, x, y, color) will display lots of Sprite body data.
2014-01-31 05:42:20 +00:00
photonstorm
13a86765cb
Phaser.CANVAS_PX_ROUND is a boolean. If 'true' the Canvas renderer will Math.floor() all coordinates before drawImage, stopping pixel interpolation. Defaults to false.
...
Phaser.CANVAS_CLEAR_RECT is a boolean. If 'true' (the default) it will context.clearRect() every frame. If false this is skipped (useful if you know you don't need it)
Collision now works between Sprites positioned via sprite.x/y, sprite.body.x/y or sprite.body.velocity.
If you are tweening a sprite and still want physics collision, set `sprite.body.moves = false` otherwise it will fight against the tween motion.
2014-01-31 04:14:02 +00:00
photonstorm
68b7d22e0d
Fixed issue with the camera being slightly out of sync with 'fixedToCamera' sprites. Also fixed 'jitter' issue with camera targets.
2014-01-31 03:32:12 +00:00
photonstorm
6e4e99f436
Added Game Update loop step debugging - has proved utterly invaluable! Resolved camera jitter issues, gravity / downward force on tile/boundary issues and most tilemap collision issues.
2014-01-31 02:06:45 +00:00
photonstorm
651858372c
Added Game core loop stepping support. Super-useful for debugging, and helped me track down the issue with jittery physics collision. Double-win!
2014-01-29 17:10:13 +00:00
photonstorm
bd66be1804
Updated Tilemap classes and further tests.
2014-01-14 22:34:41 +00:00
photonstorm
e7c2b6ae9c
Fixed nearly all of the tilemap examples to use the new tilemap system.
2014-01-14 00:31:58 +00:00
photonstorm
bf72b4d3b0
Tilemap.createFromObjects can now turn a bunch of Tiled objects into Sprites in one single call, and copies across all properties as well.
2013-12-22 04:27:12 +00:00
photonstorm
63d90a0176
Sprites that are fixedToCamera can now be input dragged regardless of world position.
2013-12-22 03:46:08 +00:00
photonstorm
352749e803
Collision commands in and working. Updated sci-fly example. Multiple layers rendering. Mixed tile size on one layer rendering, but collision is grid bound.
2013-12-19 05:09:49 +00:00
photonstorm
4c7a4ebf62
Tiled map loader now working much better, rendering, layering properly.
2013-12-19 03:49:28 +00:00
photonstorm
b2c680811b
New unified Tiled loader.
2013-12-18 13:02:01 +00:00
photonstorm
50eee95c99
Improved TilemapLayer rendering and debug rendering significantly. Cleared out some old assets and added a new map.
2013-12-18 00:44:04 +00:00
photonstorm
896e9af9f5
TilemapLayers now render tiles correctly, with our without debugging overlay. Collision working well across single and index ranges.
2013-12-17 05:07:00 +00:00
photonstorm
669570c701
Tidying up the examples and more Tilemap work.
2013-12-10 12:23:42 +00:00
photonstorm
af5847e8e4
Tilemap and game core loop updates.
2013-12-09 16:40:48 +00:00
photonstorm
886618c056
Tilemap collision fixed, regardless of rotation, number of overlapping tiles and speed (to a point anyway). Maps also don't crash if they are smaller than the render area. Layers can be positioned successfully anywhere in camera but collision isn't yet offset for this.
2013-12-06 04:34:27 +00:00
photonstorm
ea3802a556
Lots of new tilemap code in here. If your game relies on tilemaps then please don't update to this commit unless you want to help debugging!
2013-12-05 18:12:16 +00:00
Josh Shepard (jcs)
539dcdd18a
move 'dirty' flag for Tilemap to a per-layer flag. Fixes #242
2013-12-04 09:42:25 -08:00
Josh Shepard (jcs)
2b99cb4be4
move TilemapLayer positioning/rendering to postUpdate to be in line with ‘normal’ Sprites.
...
reverts e91d40b9fc
- fix was incorrect & regressed fixedToCamera Sprites’ & TilemapLayer positioning.
Fixes #237
2013-11-30 17:40:24 -08:00
photonstorm
a9a46bfbbf
Lots of documentation updates and new Loader examples.
2013-11-27 16:33:49 +00:00
photonstorm
299115ca5d
The entire Phaser library has been updated to match the new JSHint configuration.
2013-11-25 04:40:04 +00:00
photonstorm
13a2cc2feb
Updating all files to adhere to the JSHint settings and fixing lots of documentation errors on the way.
2013-11-25 03:13:04 +00:00
Richard Davey
ebe441666c
BitmapData object added
2013-11-13 20:57:09 +00:00
Josh Shepard
b35da01cfc
Added scrollFactorX/scrollFactorY to TilemapLayers - controls rate of movement of layers as a factor of camera position
2013-11-07 10:44:04 -08:00
photonstorm
3c164b466c
* Updated: event.preventDefault() has been added to all Mouse event handlers.
...
* Updated: Sprite.deltaX/Y removed due to non-use. prevX/Y values moved to Sprite._cache.prevX/Y.
* Updated: Due to missing extends parameter the Sprite prototype was picking up functions from classes it never meant to (Button, TilemapLayer), now fully isolated.
2013-11-01 02:07:21 +00:00
photonstorm
a814cc26cc
* Fixed issue 135 - Added typeof checks into most ArcadePhysics functions to avoid errors with zero values.
...
* Fixed issue 136 - distanceTo using worldX/Y instead of x/y.
2013-10-28 10:17:36 +00:00
photonstorm
4b2ac6c6c6
More tilemap examples
2013-10-16 21:25:51 +01:00
photonstorm
9c1fdb371c
Nearly finished Tilemap integration into the core.
2013-10-16 06:33:39 +01:00
photonstorm
31018b9295
Star Struck game back and working again, plus finished the level design.
2013-10-16 03:37:15 +01:00
photonstorm
a97f271de7
Fixed Animation index 0 issue and hooked TilemapLayer to camera.
2013-10-16 02:09:12 +01:00
photonstorm
fd5eeb9088
Fixed Rectangle intersection issue and tilemap collision is working again. Win!
2013-10-15 15:24:07 +01:00
photonstorm
f3ea68aad3
Extracting the correct area from a layer, debug displaying it and preparing for collision.
2013-10-15 05:41:42 +01:00
photonstorm
dd695e066f
More tilemap tweaks.
2013-10-14 19:37:52 +01:00
photonstorm
e98aa205ea
Sprite.destroy is back in business.
2013-10-13 01:29:57 +01:00
photonstorm
574f4f351b
Github Issue #101 fixed. Plus more Tilemap updates.
2013-10-11 20:02:12 +01:00
photonstorm
0201baef11
And Tilemaps are rendering again - and much better than ever before :) Just one final optimisation pass to do and then it's on to collision.
2013-10-11 18:18:27 +01:00
photonstorm
cf414394c3
Tileset working, map coming next.
2013-10-11 06:30:28 +01:00
photonstorm
b868c2cb1b
Started revamp of the Tilemap system. Also removed old 'Advanced Physics' and dropped in p2.js which is what I hope we'll eventually use.
2013-10-11 04:42:11 +01:00
Richard Davey
ca113b85aa
More docs coming on.
2013-10-01 16:39:39 +01:00
Richard Davey
305b12d76b
Adding docs.
2013-10-01 15:01:46 +01:00
Richard Davey
891369b197
Preparing for 1.0.6 release, but moving physics changes to dev.
2013-09-24 15:28:29 +01:00
Richard Davey
f069107e55
1.0.1 release - fixes issues in tile map collision, additional Animation stop checks and updated package license.
2013-09-15 03:58:38 +01:00
Richard Davey
9f687b4f8a
Adding Type support for collision checks.
2013-09-12 21:54:41 +01:00
Richard Davey
79dc3566f4
Fixed some issues in Tilemap collision, updated the Emitter so x/y controls the point of emission (to stop collision getting out of whack) and fixed the postUpdate in body.
2013-09-12 20:59:56 +01:00
Richard Davey
92e86494e3
Tilemap Collision in and working :) Needs testing against Groups now.
2013-09-12 15:39:52 +01:00
Richard Davey
dbaf7269e9
Promoted the Tilemap to a DisplayObject and vastly simplified the load process.
2013-09-12 04:24:01 +01:00
Richard Davey
3d22d0e169
Fixed a bug in the tilemap rendering so the tile offsets were wrong. Now renders perfectly :) Also fixed issue that would cause the World to resize smaller than the game size (not allowed for rendering reasons).
2013-09-12 02:18:23 +01:00
Richard Davey
89b00db103
Tilemap Rendering is working :)
2013-09-12 00:55:27 +01:00
Richard Davey
48ed27dfcc
Finished off RenderTexture. Sprites can now accept a RenderTexture or a key when you create them. RenderTextures are also now stored in the cache under their own key, making re-using them across other Sprites much easier. Also ported over all of the Tilemap classes, but need to get them rendering.
2013-09-11 02:57:36 +01:00