Commit graph

3295 commits

Author SHA1 Message Date
photonstorm
2ac594ca03 TypeScript defs update. 2016-06-09 16:29:09 +01:00
photonstorm
a65f9c7e4b Group.onChildInputDown is a new Signal that you can listen to. It will be dispatched whenever any immediate child of the Group emits an onInputDown signal itself. This allows you to listen for a Signal from the Group, rather than every Sprite within it.
Group.onChildInputUp is a new Signal that you can listen to. It will be dispatched whenever any immediate child of the Group emits an `onInputUp` signal itself. This allows you to listen for a Signal from the Group, rather than every Sprite within it.

Group.onChildInputOver is a new Signal that you can listen to. It will be dispatched whenever any immediate child of the Group emits an `onInputOver` signal itself. This allows you to listen for a Signal from the Group, rather than every Sprite within it.

Group.onChildInputOut is a new Signal that you can listen to. It will be dispatched whenever any immediate child of the Group emits an `onInputOut` signal itself. This allows you to listen for a Signal from the Group, rather than every Sprite within it.
2016-06-09 16:19:11 +01:00
photonstorm
28331c4f7f Comment fix. 2016-06-09 15:37:03 +01:00
photonstorm
458a67251d Fixed input property check. 2016-06-09 15:09:20 +01:00
photonstorm
90e1460320 Added new Debug.displayList function. 2016-06-09 14:58:58 +01:00
photonstorm
24f4abe760 Group.add has a new optional argument index which controls the index within the group to insert the child to. Where 0 is the bottom of the Group.
Group.addAt has been refactored to be a simple call to `Group.add`, removing lots of duplicate code in the process.

Group.create has a new optional argument `index` which controls the index within the group to insert the child to. Where 0 is the bottom of the Group. It also now makes proper use of `Group.add`, cutting down on more duplicate code.

Group.createMultiple now returns an Array containing references to all of the children that the method created.
2016-06-09 14:58:35 +01:00
photonstorm
c64749fef2 Added missing properties. 2016-06-09 14:54:39 +01:00
photonstorm
92d3a5efa8 Adds a callback that is fired every time 'Pointer.processInteractiveObjects' is called.
The purpose of `processInteractiveObjects` is to work out which Game Object the Pointer is going to
interact with. It works by polling all of the valid game objects, and then slowly discounting those
 that don't meet the criteria (i.e. they aren't under the Pointer, are disabled, invisible, etc).

Eventually a short-list of 'candidates' is created. These are all of the Game Objects which are valid
for input and overlap with the Pointer. If you need fine-grained control over which of the items is
selected then you can use this callback to do so.

The callback will be sent 3 parameters:

1) A reference to the Phaser.Pointer object that is processing the Items.
2) An array containing all potential interactive candidates. This is an array of `InputHandler` objects, not Sprites.
3) The current 'favorite' candidate, based on its priorityID and position in the display list.

Your callback MUST return one of the candidates sent to it.
2016-06-09 14:49:10 +01:00
photonstorm
7c2d1d4ab8 Pointer.interactiveCandidates is a new Array that is erased and re-populated every time this Pointer is updated. It contains references to all of the Game Objects that were considered as being valid for processing by this Pointer, during the most recent update. To be valid they must have suitable a priorityID, be Input enabled, be visible and actually have the Pointer over them. You can check the contents of this array in events such as onInputDown, but beware: it is reset every update.
Pointer.swapTarget allows you to change the `Pointer.targetObject` object to be the one provided. This allows you to have fine-grained control over which object the Pointer is targeting.
2016-06-09 14:36:15 +01:00
photonstorm
fa43bec19f PIXI.DisplayObjectContainer.ignoreChildInput is a new property. If true then the children will _not_ be considered as valid for Input events. Because this has been applied to DisplayObjectContainer it means it's available in Group, Sprite and any other display level object. Using this boolean you can disable input events for all children in an entire Group, without having to iterate anything or deep-set flags.
InputHandler._pointerOverHandler and _pointerOutHandler have new arguments `silent` - if `true` then they will not dispatch any Signals from the parent Sprite.
2016-06-09 14:32:56 +01:00
photonstorm
e8e7e27184 The DisplayObject.renderOrderID used to run in reverse. I.e. in a display list with 10 sprites on it, the first sprite (at the bottom of the list, rendering behind all the others) would have a renderOrderID of 9, where-as the top-most sprite, rendering above all others, would have a renderOrderID of 0. While this didn't cause any side-effects internally, it's arguably illogical. So the process has been reversed, and renderOrderIDs are now accumulative, starting at zero each frame, and increasing as it iterates down the display list. So the higher the ID, the more "on-top" of the output the object is.
`InputHandler.validForInput` and `Pointer.processInteractiveObjects` have been updated to reflect the new `renderOrderID` sequence (see above).
2016-06-09 12:32:37 +01:00
Richard Davey
53c579a50c Merge pull request #2545 from fillmoreb/patch-3
Fix Phaser.Rectangle.aabb()
2016-06-09 11:30:19 +01:00
Upperfoot
bab2fac729 Resolved issue with tilemapLayer collision. 2016-06-08 23:52:56 +01:00
fillmoreb
3f5de71add Fixe Phaser.Rectangle.aabb()
Number.MIN_VALUE does not return the most negative number, but rather the smallest representable number above 0.  As a result, Phaser.Rectangle.aabb() did not work correctly when the points had negative values.
2016-06-08 16:14:30 -06:00
Craig Whiteside
212a07b9ac Fixed problem with missing parameter in tileCheckX and tileCheckY. 2016-06-07 14:00:34 +01:00
Richard Davey
1956d3584e InputHandler.dragStopBlocksInputUp is a boolean that allows you to control what happens with the input events. If false (the default) then both the onInputUp and onDragStop events will get dispatched when a Sprite stops being dragged. If true then only the onDragStop event is dispatched, and the onInputUp is skipped. 2016-06-07 02:21:12 +01:00
Richard Davey
913936f080 jshint fix. 2016-06-07 01:50:38 +01:00
Richard Davey
df92c45420 There are two new Phaser consts available, for help with orientation of games or Game Objects. They are Phaser.HORIZONTAL, Phaser.VERTICAL, Phaser.LANDSCAPE and Phaser.PORTRAIT. 2016-06-07 01:45:33 +01:00
Richard Davey
66b846cbdb InputHandler.dragDistanceThreshold gives you more fine control over when a Sprite Drag event will start. It allows you to specify a distance, in pixels, that the pointer must have moved before the drag will begin.
InputHandler.dragTimeThreshold gives you more fine control over when a Sprite Drag event will start. It allows you to specify a time, in ms that the pointer must have been held down for, before the drag will begin.

InputHandler.downPoint is a new Point object that contains the coordinates of the Pointer when it was first pressed down on the Sprite.
2016-06-07 01:28:06 +01:00
Craig Whiteside
7a1667fa7e Fixed typo on collision for TileMapLayers (lesson to triple check your code...) 2016-06-06 15:43:51 +01:00
Richard Davey
a180882d27 Fixed the data object not being created. 2016-06-06 00:31:46 +01:00
Richard Davey
de3d749385 Farthest swapped for the more common Furthest. 2016-06-05 23:01:00 +01:00
Richard Davey
1b67850c82 Merge pull request #2529 from TheJasonReynolds/local_dev
Set isPlaying to true if no marker (.play is not called again)
2016-06-05 15:51:43 +01:00
John Rees
e75827d6ab Signal description typo fix 2016-06-04 19:41:54 +01:00
Jason Reynolds
db0a41bedf Set isPlaying to true if no marker (.play is not called again) 2016-06-03 17:08:07 -05:00
photonstorm
1a67079ae7 Phew. Added TypeScript defs for the Weapon Plugin. Don't say I never do anything for you! 2016-06-03 17:11:08 +01:00
photonstorm
61f064dfe9 Docs update. 2016-06-03 16:45:47 +01:00
Richard Davey
d81ec7fa0f Merge pull request #2526 from drhayes/dev
Don't extend Phaser.Utils when doing deep copy in Phaser.Cache.getJSON.
2016-06-03 16:42:30 +01:00
Richard Davey
6c292a4607 Merge pull request #2525 from Upperfoot/dev
Adds missing fixedToCamera check in TilemapLayer.prototype._renderWebGL
2016-06-03 16:40:00 +01:00
photonstorm
a2d0aac9fd Docs finished. 2016-06-03 16:38:40 +01:00
photonstorm
93b1f3eba1 Math.between will return a value between the given min and max values. 2016-06-03 16:18:35 +01:00
David Hayes
8317563d27 Don't extend Phaser.Utils when doing deep copy in Phaser.Cache.getJSON. 2016-06-03 10:16:07 -05:00
Upperfoot
57e8a35226 Adds missing fixedToCamera check in Phaser.TilemapLayer.prototype._renderWebGL e4ea011353 2016-06-03 16:11:39 +01:00
photonstorm
ee6f277b31 PluginManager.remove has a new argument destroy (defaults to true) which will let you optionally called the destroy method of the Plugin being removed. 2016-06-03 15:52:17 +01:00
photonstorm
c73ccfbddb Lots more docs updates. 2016-06-03 15:51:06 +01:00
photonstorm
d2269c362d Docs update. 2016-06-03 15:20:11 +01:00
photonstorm
0da7cf5ffd There are a bunch of new Phaser consts available to help with setting the angle of a Game Object. They are Phaser.ANGLE_UP, ANGLE_DOWN, ANGLE_LEFT, ANGLE_RIGHT, ANGLE_NORTH_EAST, ANGLE_NORTH_WEST, ANGLE_SOUTH_EAST and ANGLE_SOUTH_WEST. 2016-06-03 15:19:18 +01:00
photonstorm
96711f4db9 Added the Weapon Plugin and worked lots on its docs. 2016-06-03 15:09:43 +01:00
Richard Davey
7ec02f79e4 Merge pull request #2520 from seanirby/patch-1
Update docstring for TimerEvent
2016-06-03 13:15:43 +01:00
photonstorm
0a5b2673ff JSHint fixes re: #2522 2016-06-03 13:14:59 +01:00
photonstorm
9ae43757b9 Group.removeAll has a new argument destroyTexture which allows you to optionally destroy the BaseTexture of each child, as it is removed from the Group (thanks @stoneman1 #2487) 2016-06-03 13:11:03 +01:00
photonstorm
ae5be7ac92 Merging in the new Weapon Plugin. 2016-06-03 13:00:45 +01:00
photonstorm
84c60d4e87 Within RequestAnimationFrame both updateRAF and updateSetTimeout now only call game.update if isRunning is true. This should avoid asynchronous Game destroy errors under environments like Angular (thanks @flogvit #2521) 2016-06-03 13:00:45 +01:00
Richard Davey
05ca827c2b Merge pull request #2522 from Upperfoot/master
Fixing tileMap collision when tileMapLayer is set to a position other than 0,0
2016-06-03 12:45:37 +01:00
photonstorm
e4ea011353 TilemapLayer now adheres to fixedToCamera should it be disabled #2482 2016-06-03 12:13:01 +01:00
Sean Irby
3c2003365d Update docstring for TimerEvent
I think the TimerEvent lifecycle could use some clarification so I updated the docstring to explain what happens when they are finished firing.
2016-06-02 17:47:31 -07:00
Richard Davey
097add1aa6 Game Objects including Sprite, Image, Particle, TilemapLayer, Text, BitmapText and TileSprite have a new property called data. This is an empty Object that Phaser will never touch internally, but your own code, or Phaser Plugins, can store Game Object specific data within it. This allows you to associate data with a Game Object without having to pollute or change its class shape. 2016-06-03 01:08:32 +01:00
Richard Davey
45bd98ee18 Fixed issue with camera target sync. 2016-06-02 23:20:46 +01:00
Richard Davey
645a614326 Stage has had all of its core update loops modified, so they now iterate through the display list forwards, instead of in reverse. Stage.postUpdate is now also a lot smaller, with no conditional branching if there is a Camera Target or not. 2016-06-02 22:45:31 +01:00
Richard Davey
c822cda452 TilemapLayer.postUpdate could potentially be called several times per frame (depending on device frame rate), which would cause multiple texture redraws, even though only the last texture is used during rendering. This has now been modified so that the local TilemapLayer canvas is only re-rendered once per frame, during the rendering phase, and not during the logic update phase. 2016-06-02 22:44:24 +01:00
Richard Davey
c4f4ceef42 Code format fix. 2016-06-02 22:41:58 +01:00
Richard Davey
09d09aaf84 Removed the updateTransform calls from the frame loop, because it happens automatically as part of Game.updateLogic anyway, so was duplicating the workload for no reason. 2016-06-02 22:41:03 +01:00
Richard Davey
eb1c61826c The camera now divides its effects (like shake and fade) updates, and the updateTarget into two separate functions. 2016-06-02 22:40:30 +01:00
photonstorm
68c29470cf The way the display list updates and Camera movements are handled has been completely revamped, which should result is significantly smoother motion when the Camera is following tweened or physics controlled sprites. The Stage.postUpdate function is now vastly reduced in complexity. It takes control over updating the display list (calling updateTransform on itself), rather than letting the Canvas or WebGL renderers do this. Because of this change, the Camera.updateTarget function uses the Sprites worldPosition property instead, which is now frame accurate (thanks @whig @Upperfoot @Whoisnt @hexus #2482) 2016-06-02 16:38:21 +01:00
Richard Davey
8da3395407 Merge pull request #2471 from cwleonard/gamepad
Gamepad problems in Google Chrome
2016-06-02 15:46:03 +01:00
photonstorm
a81fe3cf02 jshint fixes. 2016-06-02 15:38:05 +01:00
photonstorm
63a1336bd5 Sound.addMarker now has a default value for the duration argument (1 second) to avoid the DOM Exception 11 error if you accidentally miss it out (thanks @mari8i #2508) 2016-06-02 15:29:51 +01:00
photonstorm
21b5492e98 Video.onComplete wouldn't fire on iOS if the user hit the 'Done' button before the video had finished playing. It now uses the webkitendfullscreen event to detect this, and dispatches the onComplete signal should that event fire (thanks @kelu-smiley #2498) 2016-06-02 15:26:11 +01:00
photonstorm
dfa8b9dedc Refactored Group.getClosestTo and Group.getFurthestFrom. 2016-06-02 15:11:23 +01:00
photonstorm
a52bbf621b Added missing property. 2016-06-02 15:02:44 +01:00
Richard Davey
837d3cba46 Merge pull request #2505 from gotenxds/ReverseAnimation
Added a reverse functionality to animations.
2016-06-02 15:01:57 +01:00
Richard Davey
f67d304e99 Merge pull request #2504 from Nuuf/master
added functions for getting closest child and farthest child
2016-06-02 14:58:09 +01:00
Richard Davey
56cc7dc155 Merge pull request #2519 from TadejZupancic/patch-1
Fixing measurement of text width that produced too narrow canvas
2016-06-02 14:53:17 +01:00
Richard Davey
d18c591c15 Merge pull request #2499 from kevinleedrum/2496
Fixing issue #2496: Wrapped BitmapText not centering
2016-06-02 14:51:09 +01:00
TadejZupancic
317c85db90 Fixing measurement of text width that produced too narrow canvas
When using a style on characters (e.g. addColor), the length of the whole line with default style was measured ignoring the different width of the characters with added style. 

I've included the measureLine function, which does the same measurements as updateLine, but it does not render the line to canvas - it only returns the line length.

Now this function is used for measuring line of text if some style is added to it.
2016-06-02 11:10:40 +02:00
gotenxds
7fc34c117c Reverse and reverseOnce will now return the animation to allow linking. 2016-05-31 20:29:02 +03:00
gotenxds
b34860c89b Reverse and reverseOnce will now return the animation to allow linking. 2016-05-31 20:27:55 +03:00
Vitaliy
cd3742f9f2 Corrected intersects fuction
Added protection against incorrect handling collisions. Clashes with the body itself will not be processed.
2016-05-31 01:18:17 +03:00
Gustav
5a1cb006ec beautified 2016-05-28 00:27:35 +02:00
gotenxds
d243da7a1b Small fix, should check for -1 not 0 2016-05-27 21:37:56 +03:00
gotenxds
ae3ebf00cd Added typescript defs; Fixed jshint. 2016-05-27 18:04:33 +03:00
gotenxds
d4636e9e81 Added a reverseOnce method. 2016-05-27 17:58:54 +03:00
gotenxds
b0c4f3bc4c Added a convenient function. 2016-05-27 17:48:06 +03:00
gotenxds
bb7cbb36f6 If animation is reversed it should start from last frame. 2016-05-27 17:43:36 +03:00
gotenxds
2c752a25c2 Deleted whitespace. 2016-05-27 15:55:46 +03:00
John Doe
911d345571 Merge remote-tracking branch 'origin/ReverseAnimation' into ReverseAnimation
Conflicts:
	src/animation/Animation.js
	typescript/phaser.comments.d.ts
	typescript/phaser.d.ts
2016-05-27 15:46:57 +03:00
John Doe
ce17ac9902 Added a reverse functionality to animations. 2016-05-27 15:44:32 +03:00
John Doe
11805b311d Added a reverse functionality to animations. 2016-05-27 02:24:23 +03:00
Gustav
5b4b41c958 added functions for getting closest child and farthest child 2016-05-26 21:51:56 +02:00
kevinleedrum
c1a2970488 Fixing issue #2496: Wrapped BitmapText not centering 2016-05-24 09:09:38 -04:00
photonstorm
07ef075e92 Phaser.Line.intersectsRectangle checks for intersection between a Line and a Rectangle, or any Rectangle-like object such as a Sprite or Body. 2016-05-24 02:30:00 +01:00
photonstorm
c1c2e6bc9d Removed left-over Body.isCircle checks. 2016-05-23 23:02:04 +01:00
photonstorm
e974ff4ee9 Removed Circle functions and updated setSize docs. 2016-05-23 13:16:21 +01:00
photonstorm
9b9e398c73 InputHandler.checkPointerDown had an incorrect single pipe character |, instead of an OR check ||, and an isDown check, causing Button Over events to fail (thanks @pengchuan #2486) 2016-05-23 13:03:11 +01:00
photonstorm
16e9acac84 Updated Body.reset call. 2016-05-23 12:54:41 +01:00
photonstorm
8743e8952c Reverted worldScale calculation. 2016-05-23 12:54:33 +01:00
photonstorm
09dd84565e Arcade Physics Body incorrectly positioned if the Sprite had a negative scale (see http://www.html5gamedevs.com/topic/22695-247-248-body-anchoring-any-migration-tips/) (thanks @SBCGames @icameron @Nuuf @EvolViper #2488 #2490) 2016-05-23 12:46:01 +01:00
photonstorm
7844ad927c Preparing for 2.4.9 dev. 2016-05-23 12:32:37 +01:00
photonstorm
d1234d1685 Preparing for 2.5.0 dev. 2016-05-19 13:45:51 +01:00
photonstorm
9f28d0659d Phaser 2.4.8 release. 2016-05-19 12:36:51 +01:00
Upperfoot
4a3e8f2b4a Take into consideration Tilemap position into collision 2016-05-19 11:06:49 +01:00
Upperfoot
55700e4fec Take into account position of tilemap in collision 2016-05-19 08:47:31 +01:00
zeterain
cd188ed0ab Update Documentation in Game.js
Updated the documentation in Game.js to indicate that the renderType property could be set to Phaser.HEADLESS.
2016-05-18 10:56:44 -06:00
photonstorm
a6a2c61240 Sprites that had a tint on them, that then had their frame changed via either Sprite.frame or Sprite.frameName wouldn't re-tint the new frame, and would become stuck on the old frame in Canvas mode (thaks @spayton #2453) 2016-05-17 21:04:40 +01:00
photonstorm
d161a7f6bc Sounds played using the Audio tag, set to loop, would get caught in an endless pause-play loop cycle (thanks @rroylance #2473) 2016-05-17 16:43:11 +01:00
photonstorm
7018ca2132 Position in Body.reset #2470 2016-05-16 15:20:44 +01:00
photonstorm
54683b7fb2 Sounds played using the Audio tag, that were paused and then resumed again (either directly in code, or via a game pause event) would not resume from the point at which they paused (thanks @rroylance #2473) 2016-05-16 15:16:19 +01:00
photonstorm
02e8b1ae0a If you set Game.renderType to Phaser.HEADLESS it will no longer render the output to the canvas. The canvas is still created (although not added to the DOM), as it's required internally, but no rendering now takes place on it (thanks @ForgeableSum #2464) 2016-05-16 14:53:11 +01:00
photonstorm
ac89d1aec7 Arcade Physics Body has a new property worldBounce. This controls the elasticity of the Body specifically when colliding with the World bounds. By default this property is null, in which case Body.bounce is used instead. Set this property to a Phaser.Point object in order to enable a World bounds specific bounce value (thanks @VitaZheltyakov #2465) 2016-05-16 13:53:12 +01:00
photonstorm
f9994fac75 Fixed a bug in Arcade Physics Body.preUpdate which would incorrectly apply the position of an offset Body (one which has had Body.setSize used on it) when combined with a Sprite with a non-zero anchor (thanks @SBCGames #2470) 2016-05-16 13:39:46 +01:00
photonstorm
19dce62734 Arcade Physics has had a new world argument added to the following functions: distanceBetween, distanceToXY, distanceToPointer, angleBetween, angleToXY and angleToPointer. The argument (which is false by default), when enabled will calculate the angles or distances based on the Game Objects world property, instead of its x and y properties. This allows it to work for objects that are placed in offset Groups, or are children of other display objects (thanks @Skeptron for the thread #2463) 2016-05-16 13:31:57 +01:00
Richard Davey
6eca457877 Merge pull request #2476 from staff0rd/generate_texture
fix generateTexture return type
2016-05-16 12:56:27 +01:00
photonstorm
4fd2524c61 Text.setStyle has a new argument update which will optionally automatically call updateText after setting the new style (thanks @staff0rd #2478) 2016-05-16 12:55:27 +01:00
stafford
e6b9ca4e22 fix generateTexture return type 2016-05-12 15:30:33 +10:00
photonstorm
f34b567295 BitmapData.copy, and by extension any method that uses it, including BitmapData.draw, drawGroup and drawFull, now all support drawing RenderTexture objects. These can either be passed directly, or be the textures of Sprites, such as from a call to generateTexture. 2016-05-12 03:48:14 +01:00
photonstorm
85d5d9715d Removed, this has gone to its own branch. 2016-05-11 16:38:56 +01:00
photonstorm
1d18c70371 BitmapData.drawGroupProxy is now capable of iterating through Sprites that have children, and also now uses the world positions for drawing instead. 2016-05-11 16:38:42 +01:00
photonstorm
74af2079b6 Swap to use worldScale instead of worldTransform. 2016-05-11 16:37:31 +01:00
photonstorm
621673b9ca Revert worldScale setter. 2016-05-11 16:37:21 +01:00
photonstorm
815907184a Typo fix. 2016-05-11 16:37:01 +01:00
photonstorm
9649f714bb InputHandler.checkPointerDown and checkPointerOver will now test the worldTransform scale property of a Sprite. If zero it will fast return, where-as before it would incorrectly report an up event (thanks @jaapaurelio #2466) 2016-05-11 12:25:35 +01:00
photonstorm
368913fd98 Removed WebGL Tilemap renderer, has moved to its own branch to be part of 2.5.0. 2016-05-11 11:27:36 +01:00
photonstorm
16203a378a PIXI.defaultRenderer is now set to null in Game.destroy, allowing it to be reset if a new Game instance is created on the same page (thanks @xtforgame ##2474) 2016-05-11 11:27:36 +01:00
Casey Leonard
9ede913609 gamepad bugs in Chrome
fixes issues with being unable to connect a gamepad in Chrome and losing
the gamepad when focus is lost to the game
2016-05-07 19:07:16 -04:00
Pete Baron
5e97f10c86 Remove un-needed mixin components leaving only FixedToCamera (not sure about this one). Move this.fixedToCamera after the Core.init call which creates the underlying core components required. Add temporary instant return from shiftCanvas in case that was being called and contributing to the slow-down (probably not). 2016-05-05 17:00:22 +12:00
Pete Baron
ef4143136e Use this.x, this.y as scrolling offsets when rendering each tile. 2016-05-05 16:57:55 +12:00
Pete Baron
69abe492cc Modified Phaser.Tilemap and PIXI.Tilemap to support the new Phaser.TilemapLayerGL objects.
The PIXI file has a reverse dependency on Phaser for it's 'layer' parameter which contains a Phaser.Tilemap (which holds the map data).  The other changes adapt it to the new data source (previously this expected a raw JSON object encoded like the Mario.json map is).

The Phaser file now keeps a reference to the data parsed from the original map, and adds a branch in createLayer to build a TilemapLayerGL instead of a TilemapLayer.
2016-05-05 15:58:03 +12:00
Pete Baron
ad04676980 New class: duplicate of Phaser.TilemapLayer modified to access the new PIXI.Tilemap WebGL based tile renderer.
This is just the first test which actually produces some visible output (the map is drawn for the "sci fly" demo example, if you adjust line 27 of that source file to: layer = map.createLayer(0, undefined, undefined, undefined, true);
The new terminal "true" parameter instructs Phaser.Tilemap.createLayer to create a TilemapLayerGL object instead of the usual Phaser.TilemapLayer.
2016-05-05 15:52:26 +12:00
photonstorm
45118e7a60 Docs fix. 2016-05-04 23:34:15 +01:00
Pete Baron
eb77949f63 Strip down PIXI.Tilemap to remove all unused code.
Add very simple tilemap render function to draw every layer, every tile, for the tiles provided.
Link to the TilemapShader and get the whole thing working.
2016-05-05 10:29:51 +12:00
Pete Baron
9deb07c3aa Modify this shader to draw a simple textured rectangle using a two-tri strip, extremely quickly due to simplicity. 2016-05-05 10:28:12 +12:00
photonstorm
1adece490a Docs update. 2016-05-04 02:02:13 +01:00
photonstorm
7afe087c3d Docs fix. 2016-04-29 17:46:44 +01:00
photonstorm
7332dd8028 Custom WebGL Tilemap renderer POC displaying textures. It's a start. 2016-04-28 00:18:09 +01:00
photonstorm
16378713b4 JSDocs update (#249) 2016-04-27 12:57:41 +01:00
photonstorm
d55b0c9e51 Tilemap update. 2016-04-27 03:38:07 +01:00
photonstorm
b10c8858c3 Tilemap shader WIP. 2016-04-27 03:02:13 +01:00
photonstorm
f494c867c7 Fixed an issue in the Arcade Physics overlap method where it would only detect overlaps up to the max bias threshold and no further (thanks @rgk #2441)
The Arcade Physics overlap method would return false if two bodies were overlapping but neither had any velocity (i.e. they were embedded into each other)
2016-04-25 11:38:51 +01:00
Richard Davey
74d52dd327 Merge pull request #2443 from drhayes/dev
Add a "shakeIntensity" property to Camera.
2016-04-23 04:34:08 +01:00
photonstorm
6bc93de7a5 Preparing for 2.4.8 dev. 2016-04-23 04:32:47 +01:00
David Hayes
fb709fe728 Add a "shakeIntensity" property to Camera.
This would allow tweening the intensity of the Camera shake over the
lifetime of the shaking.
2016-04-22 19:53:52 -05:00
photonstorm
a29cc64932 Phaser 2.4.7 Final. 2016-04-22 15:15:28 +01:00
photonstorm
002d6250a8 Docs update. 2016-04-21 00:48:54 +01:00
photonstorm
3d6b1a3b7e Stopped the Camera Shake effect from changing the World position, as it screws up Arcade Physics, Sprite deltas and some input handling. Instead moved the effect to be render applied only. On Canvas it updates the context.setTransform call, and on WebGL the renderSession offset property. 2016-04-19 04:12:58 +01:00
photonstorm
62d135cf1f Small tidy-up. 2016-04-19 03:39:04 +01:00
photonstorm
7d9c817373 Dragging a Sprite while the camera was moving would slowly cause the Sprite position to become out of sync the further the camera moved. A Sprite being dragged now tracks the camera position during the drag update and adjusts accordingly (thanks @jeroenverfallie #1044) 2016-04-19 01:54:24 +01:00
photonstorm
628dd1c420 P2.Body.offset is now used and applied to the Sprite position during rendering. The values given are normal pixel values, and offset the P2 Body from the center of the Sprite (thanks @Mourtz #2430) 2016-04-18 20:57:41 +01:00
photonstorm
a2d145a43d When the Loader loads audio via the Audio tag, instead of Web Audio, it used to use Phaser.GAMES[_this.game.id].load as the callback handler, which would stop it from working if you had multiple Loaders set-up within Phaser. It now uses a local reference to _this instead (thanks @SBCGames #2435) 2016-04-18 16:44:28 +01:00
photonstorm
41f81d39b7 jsdocs update (and removed isCircle switch) 2016-04-18 16:17:47 +01:00
photonstorm
257a22b170 When loading Video with the asBlob argument set it now uses a 'blob' type for the XHR loader, and doesn't cast the resulting file as a Blob upon load. This fixes loading videos as blobs on Chrome for Android (thanks @JuCarr #2433) 2016-04-18 16:17:27 +01:00
photonstorm
41add1b4bf Phaser 2.4.7 RC1. 2016-04-14 13:23:44 +01:00
photonstorm
ac4acfb912 Removed Arcade Physics Circle support (now in its own branch) ready for 2.4.7 release. 2016-04-14 13:23:28 +01:00
photonstorm
4d8753e9ce Tidying up for 2.4.7. 2016-04-14 12:57:05 +01:00
photonstorm
aad499b025 Tidying up the code base for 2.4.7. 2016-04-14 12:43:10 +01:00
photonstorm
5221bfd5da You can now pass in your own Canvas element to Phaser and it will use that instead of creating one itself. To do so you must pass a Game Configuration object to Phaser when you instantiate it, and set the canvas property of the config object to be the DOM element you wish to use, i.e.: { canvas: document.getElementById('yourCanvas') } (thanks @Friksel #2311) 2016-04-14 11:57:10 +01:00
Lewis Pollard
719b4bb7f6 Alter BitmapText to use toString on text parameter in constructor
The BitmapText property accessor for the text property uses toString on the value passed in, meaning Numbers can be passed in as the text value with no problem. However, passing a Number into the constructor results in the following exception as it isn't implicitly converted to a string in a similar manner.

phaser.js:71890 TypeError: text.substr is not a function
    at Phaser.BitmapText.updateText (http://localhost/phaser/build/phaser.js:56283:21)
    at new Phaser.BitmapText (http://localhost/phaser/build/phaser.js:56034:10)
    at Phaser.GameObjectFactory.bitmapText (http://localhost/phaser/build/phaser.js:46318:26)
    at Object.Boot.create (http://localhost/phaser/:46:34)
    at Phaser.StateManager.loadComplete (http://localhost/phaser/build/phaser.js:29240:35)
    at Phaser.Loader.finishedLoading (http://localhost/phaser/build/phaser.js:71446:25)
    at Phaser.Loader.processLoadQueue (http://localhost/phaser/build/phaser.js:71403:18)
    at Phaser.Loader.asyncComplete (http://localhost/phaser/build/phaser.js:71476:14)
    at Phaser.Loader.xmlLoadComplete (http://localhost/phaser/build/phaser.js:72413:14)
    at .<anonymous> (http://localhost/phaser/build/phaser.js:72236:34)

This simply mimics the logic in the property accessor by running toString on the text value and using an empty string if null to allow Numbers to be passed into the constructor.
2016-04-13 15:24:29 +01:00
Richard Davey
358cc6b8d0 Merge pull request #2428 from EJanuszewski/radToDeg-typo
Fix typo in Math radToDeg description
2016-04-13 14:18:18 +01:00
photonstorm
f4277efc20 Alternative snooker-ball like collision test. 2016-04-11 16:43:17 +01:00
photonstorm
a193ad557e Fixed jsdocs #2418 2016-04-11 08:55:24 +01:00
photonstorm
7102a34706 Camera.flash is a new function that makes the camera 'flash' over the top of your game. It works by filling the game with the solid fill color specified, and then fading it away to alpha 0 over the duration given. This is great for things like hit effects. You can listen for the Camera.onflashComplete Signal.
Camera.fade is a new function that makes the camera fade to the color given, over the course of the duration specified. This is great for things like transitioning from one State to another. You can listen for the Camera.onFadeComplete Signal.

Camera.resetFX resets any active FX, such as a fade or flash and immediately clears it. Useful to calling after a fade in order to remove the fade from the Stage.

Phaser.Camera.ENABLE_FX is a const that controls if the Camera FX are available or not. It's `true` by default, but if you set it to `false` before boot then it won't create the Graphics object required to process the effects.
2016-04-09 04:05:07 +01:00