Commit graph

360 commits

Author SHA1 Message Date
photonstorm
bdcc9fcbc4 Updated jsdocs re: Image/Sprite.crop (#820) 2014-05-14 02:18:18 +01:00
photonstorm
b2c68c1369 Graphics.drawTriangles will draw an array of vertices to the Graphics object (thanks @codevinsky, #795)
Polygon.area will calculate the area of the Polygon (thanks @codevinsky, #795)
2014-05-14 00:04:31 +01:00
photonstorm
5047606118 Button.onOverMouseOnly is a boolean that causes onOver events to fire only if the pointer was a mouse (i.e. stops onOver sounds triggering on touch) 2014-05-13 23:43:44 +01:00
Richard Davey
e3f834314e Merge pull request #795 from codevinsky/graphics-drawTriangles
Graphics.drawTriangles and Polygon.area
2014-05-13 23:43:16 +01:00
Samuel Batista
d5366972bc Typo fix 2014-05-10 02:15:16 -04:00
photonstorm
8b1e736418 BitmapData.rect provides a quick way to draw a Rectangle to a BitmapData. 2014-05-09 16:39:45 +01:00
Richard Davey
aac4ff2226 Merge pull request #808 from muclemente/dev
Added undefined check processPixelRGB
2014-05-07 23:48:28 +01:00
Richard Davey
570e8acabb Joystick updates. 2014-05-07 18:10:13 +01:00
Murilo Clemente
c882ebef2f Added undefined check processPixelRGB
Phaser.BitmapData#processPixelRGB:

I was getting an undefined error when phaser tried to call setPixel32
using “result.r”.
With this additional undefined check the problem stopped and I’m able
to run this method with all my needed images.
2014-05-06 22:43:35 -03:00
jdowell
f10c772ff3 Graphics.drawTriangles && Polygon.area
Demo:
http://phaser-triangles.herokuapp.com
2014-05-02 12:30:49 -05:00
photonstorm
fd9d454bc6 Documentation updates. 2014-05-01 02:38:12 +01:00
photonstorm
9fd4ac5950 Fixed and tested on IE9. 2014-04-29 15:38:33 +01:00
photonstorm
1d37cde66f Updated p2 to latest build and patched for Float32Array + UMD issues. 2014-04-29 02:34:16 +01:00
photonstorm
e85bbf8bc5 Text.updateText now sets the lineCap to round to avoid occassional font glitching issues in Chrome. 2014-04-28 15:17:47 +01:00
photonstorm
f12168a888 Fixed jshint error. 2014-04-28 13:48:23 +01:00
photonstorm
95fe57e4fe BitmapData.extract working :) 2014-04-28 05:33:52 +01:00
photonstorm
de9fc08e7d Color.updateColor - updates an existing color object to update the rgba property.
Color.HSVColorWheel will return an array with 360 color objects for each segment of an HSV color wheel, you can optionally set the saturation and value amounts.
Color.HSLColorWheel will return an array with 360 color objects for each segment of an HSL color wheel, you can optionally set the saturation and lightness amounts.
2014-04-28 04:19:26 +01:00
photonstorm
54b71ddc23 Phaser.ArrayList is a new iterative object, similar in principal to a linked list but operating on a single array without modifying the object structure.
Input and Pointer now use the new ArrayList instead of a LinkedList, which resolve list item removable during callback issues.
Input.reset no longer resets every interactive item it knows of, because they are removed during the destroy phase and can now persist between States if needed.
2014-04-25 15:11:54 +01:00
photonstorm
45aa486e27 Found better way of specifying region. 2014-04-25 04:13:59 +01:00
photonstorm
11ca2deaf6 Finally - fully working setHSL and shiftHSL. 2014-04-25 02:45:35 +01:00
photonstorm
6fb4ad06d7 Added in various new methods such as hslToRgb. 2014-04-25 02:45:35 +01:00
photonstorm
387ff4f0fa BitmapData.processPixelRGB lets you perform a custom callback on every pixel in the BitmapData. 2014-04-24 05:20:45 +01:00
photonstorm
c88fa2bd91 Loads of BitmapData updates. More details soon. 2014-04-24 03:49:49 +01:00
photonstorm
0f1e0a3d4e Updated the Device little / big endianess check. 2014-04-23 23:35:36 +01:00
photonstorm
0b1fb5a637 Destroying an object with an input handler during its onDown event would throw Signals dispatch errors (thanks @jflowers45, fix #746)
InputHandler._setHandCursor private var wasn't properly set, meaning the hand cursor could sometimes remain (during destroy sequence for example)
All Game Objects have a new property: destroyPhase (boolean) which is true if the object is in the process of being destroyed, otherwise false.
The PIXI.AbstractFilter is now included in the Phaser Pixi build by default, allowing for easier use of external Pixi Filters.
2014-04-22 01:43:22 +01:00
photonstorm
a582f21a02 Fixed jsdoc and started extractAlpha 2014-04-20 21:17:01 +01:00
photonstorm
eb23903174 Corrected initial particle scale. 2014-04-11 03:26:14 +01:00
photonstorm
78aa24f04b Emitter.setScale now allows you to scale the x and y axis of the particles independently. 2014-04-10 05:18:06 +01:00
photonstorm
8c434a83ab Fixed issue with Particles not being updated by the Emitter and rebuilt the dist files. 2014-04-10 04:19:43 +01:00
photonstorm
8bb22551aa Added jsdocs to Particle and Emitter. Fixed p2 UMD. 2014-04-10 01:48:55 +01:00
photonstorm
95b0532f59 Emitter.setScale has a new 'rate' parameter which allows particles to change in scale over time, using any Easing value or timescale.
Emitter.setAlpha has a new 'rate' parameter which allows particles to change alpha over time, using any Easing value or timescale.
Emitter.bringToTop and Emitter.sendToBack are booleans that let you optionally set the display order of the Particle when emitted.
2014-04-10 01:36:05 +01:00
photonstorm
50981fd729 Emitter now has minParticleAlpha and maxParticleAlpha values for setting a random alpha on emitted particles.
Emitter.particleAnchor allows you to control the anchor of emitted Particles. Defaults to 0.5 (same as before) but now under your control.
Emitter now emits Phaser.Particle objects instead of Phaser.Sprites, which can be extended as required.
Emitter has had various local properties removed that were already declared in Phaser.Group which it extends.
2014-04-09 14:29:23 +01:00
photonstorm
01eec6cef5 Keyboard.stop nulls the function references after removing the event listeners (thanks @bmceldowney, #691) 2014-04-07 12:29:26 +01:00
nickryall
76736a666e Rounded lineJoins for text stroke 2014-04-01 09:03:14 +13:00
nickryall
5f7d38e9fd Rounded lineJoins for text stroke 2014-04-01 09:00:35 +13:00
nickryall
772d9ca9f2 Renable input on Phaser.Image fix 2014-04-01 08:54:08 +13:00
nickryall
8400df1b33 Renable input on Phaser.Image fix 2014-03-31 21:29:35 +13:00
photonstorm
5b73bb21bb Sprite would glitch if it had an ArcadePhysics Body that was re-positioned out of loop.
Sprite would "fly off" if it had an ArcadePhysics Body that was re-positioned during an input handler.
Newly generated docs
2014-03-28 01:42:49 +00:00
Richard Davey
06c953a293 Merge pull request #647 from xtian/grunt-jshint
Run jshint as part of build process and fix jshint errors
2014-03-26 15:46:35 +00:00
photonstorm
fc0e239719 ArcadePhysics.Body preUpdate has been modified to stop Sprites with non-1 scaling from gaining delta and moving off the screen (fix #644).
Lots of ArcadePhysics.World methods have been marked as private where they shouldn't be called directly (separateX, etc)
2014-03-26 10:48:30 +00:00
Christian Wesselhoeft
bdbf2783ad Fix jshint issues in src/gameobjects 2014-03-25 14:56:05 -07:00
Christian Wesselhoeft
61f18b675c Trim trailing whitespace. 2014-03-25 14:56:04 -07:00
photonstorm
21c0be4d02 BitmapDatas when used as Game Object textures in WebGL now update themselves properly.
Timer.ms now correctly reports the ms time even if the Timer has been paused (thanks Nambew, fix #624)
2014-03-21 18:37:54 +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
634b1d1093 Emitter.friction property removed and replaced with Emitter.particleDrag, which is now correctly applied.
ArcadePhysics.Body.reset incorrectly set the Body.rotation to Sprite.rotation instead of angle.
Emitter.emitParticle resets the rotation on the particle to zero before emitting it.
Lots of fixes to the TypeScript definitions file (thanks as always to clark-stevenson for his tireless work on these)
Emitters now bring the particle they are about to emit to the top of the Group before doing so. Avoids particles hidden behind others.
ArcadePhysics.Body.setSize corrected to take the parameters as positive, not negative values.
ArcadePhysics.Body now checks the Sprite scale automatically and adjusts the body size accordingly (fix #608)
Emitter.particleClass can now be set to any object that extends Phaser.Sprite, which will be emitted instead of a regular Sprite.
2014-03-20 03:48:54 +00:00
photonstorm
684ee9c064 ArcadePhysics.Body has a deltaMax object, which allows you to cap the delta applied to the position to +- this value.
ArcadePhysics.Body now checks the Sprite scale automatically and adjusts the body size accordingly (fix #608)
2014-03-20 00:20:02 +00:00
photonstorm
96365a3a1f The StateManager is now responsible for clearing down input, timers, tweens, physics, camera and the World display list.
Removed the use of Int16Array from all Game Objects, swapped for standard Array. Phaser now runs on Android 2.x again (fix #590)
2014-03-19 12:05:19 +00:00
photonstorm
84df7bf320 Sprite.events.onEnterBounds added. This is dispatched if the Sprite leaves the bounds but then returns. The opposite of onOutOfBounds. 2014-03-19 04:17:37 +00:00
photonstorm
11fdd62436 World.destroy incorrectly clashed with the Group.destroy method it over-rode, renamed to World.shutdown and updated StateManager accordingly.
World.shutdown now removes all children iteratively, calling destroy on each one, ultimately performing a soft reset of the World.
Objects with a scale.x or y of 0 are no longer considered valid for input (fix #602)
InputHandler will set the browser pointer back to default if destroyed while over (fix #602)
Group.destroy has a new parameter: `soft`. A soft destruction won't remove the Group from its parent or null game references. Default is `false`.
InputHandler.validForInput is a new method that checks if the handler and its owner should be considered for Pointer input handling or not.
Group.replace will now return the old child, the one that was replaced in the Group.
2014-03-19 00:54:49 +00:00
photonstorm
4a407f12a1 Button.onInputUpHandler wouldn't set an upFrame for a frame ID of zero, made the check more strict. 2014-03-17 23:57:27 +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
dc434dd1ff Render Debug moved into Arcade class. 2014-03-13 15:41:56 +00:00
photonstorm
39add47ac3 enableBody added to Group constructor. Also: game.add.physicsGroup(Phaser.Physics.ARCADE) is a thing :) 2014-03-13 11:45:55 +00:00
photonstorm
8318a58f69 Fixed bug causing Text with empty or no given text to break. Added World.createSpring. 2014-03-13 09:43:00 +00:00
photonstorm
94448d2497 P2 postBroadphase example and handler done. Group.enableBodyDebug added. Sprites no longer remove bodies from the world if exists = false, instead they set safeDestroy to true, which removes the body on the next preUpdate, to avoid mid-step destruction issues. 2014-03-13 07:29:23 +00:00
photonstorm
84741f065f New P2 examples. And fixed Camera.atLimit value. 2014-03-12 16:33:53 +00:00
photonstorm
8683d41c76 New Text examples. 2014-03-11 20:21:07 +00:00
photonstorm
6bddf1a914 The main Game class has been modified so that the update methods no longer have any if/else checks in them. Now split into coreUpdate, etc.
Put QuadTree back into Debug class.
Debug class now clears down on WebGL.
Updated RetroFont.type.
Fixed QuadTree example.
2014-03-11 16:14:01 +00:00
photonstorm
6ef9e30753 Added z property to remaining game objects and updated TypeScript defs. 2014-03-10 23:16:49 +00:00
photonstorm
53797171a3 Fixed Group.sort. Added z-depth property to all core game objects. Fixed P2 const overwrite. 2014-03-10 23:01:10 +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
f22af81653 TileSprites now have a physics body property and call it in the pre and post updates. As with all physics bodies it's null by default. 2014-03-07 03:23:32 +00:00
photonstorm
3b2573de9a Objects that are 'fixedToCamera' are now still correctly placed even if the camera is scaled (#512) 2014-03-06 17:12:12 +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
22b1ce9b9d Added Phasers new Physics Manager and restored the pre-1.1.4 ArcadePhysics system. The new manager can handle multiple physics systems running in parallel, which could be extremely useful for lots of games. 2014-03-05 02:36:08 +00:00
photonstorm
67ad898294 Tween.generateData(frameRate) allows you to generate tween data into an array, which can then be used however you wish (see new examples)
Added new Retro Font examples.
2014-03-03 22:43:35 +00:00
photonstorm
7183322259 Renamed Phaser.BitmapFont to Phaser.RetroFont because I believe it will cause confusion otherwise. Also tidied up the asset fonts folder. 2014-03-03 17:05:28 +00:00
photonstorm
833960b3c8 Animation.looped has been renamed to Animation.loop. It's a boolean you can toggle at run-time to turn on/off animation looping.
A single Animation object now has 3 new events: onStart, onLoop and onComplete.
Animation.loopCount holds the number of times the animation has looped since it last started.
Animation.stop has a new parameter: dispatchComplete. If true it'll dispatch an Animation.onComplete event.
2014-03-03 16:05:55 +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
c4a68e3e87 The Debug panel now works in WebGL mode. Pay attention to the warning at the top of the Debug docs (feature request #499)
All the Debug methods have had the word 'render' removed from the start. So where you did `debug.renderSpriteInfo` before, it's now just `debug.spriteInfo`.
Debug methods that rendered geometry (Rectangle, Circle, Line, Point) have been merged into the single method: `Debug.geom`.
2014-03-03 00:46:03 +00:00
photonstorm
418a161b46 Testing webgl debug overlay. 2014-03-02 20:51:44 +00:00
photonstorm
664d5b3e2c Fixed issue where Image, Sprite, etc wouldn't call preUpdate or postUpdate of its children.
Fixed issue where renderOrderID wasn't being assigned correctly, causing the Input Handler to be unable to select the "top" item on a display list (would all default to zero)
Fixed issue where Stage would assign renderOrderIDs in reverse, should be in sequence.
Fixed issue where objects where checking World for the currentRenderOrderID by mistake instead of Stage.
Basically, input handling works a lot better now for Groups and nested objects :)
2014-02-28 19:45:15 +00:00
photonstorm
8662cd2fd4 Brand new Grunt task - creates each core library as its own file and a combined phaser.js.
New build script now cleanly splits Phaser, Pixi and p2 so they are each UMD wrapped and each available in the global scope (now more requireJS friendly!).
phaser-no-libs.js allows you to use your own version of p2.js or pixi.js with Phaser. Warning: This is totally unsupported. If you hit bugs, you fix them yourself.
Fixed silly instanceof bug in game objects (sorry guys).
2014-02-28 09:30:53 +00:00
photonstorm
4562939e4e Fixed stupid error in destroy(). 2014-02-28 06:17:18 +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
a8bd5db7ba Fixed smoothed value in Sprite and Image too. 2014-02-27 21:57:57 +00:00
photonstorm
7e12075be1 Buttons are now cleanly destroyed if part of a Group without leaving their InputHandler running.
You can now safely destroy a Group and the 'destroyChildren' boolean will propogate fully down the display list.
Calling destroy on an already destroyed object would throw a run-time error. Now checked for and aborted.
Calling destroy while in an Input Event callback now works for either the parent Group or the calling object itself.
In Group.destroy the default for 'destroyChildren' was false. It's now `true` as this is a far more likely requirement when destroying a Group.
All GameObjects now have a 'destroyChildren' boolean as a parameter to their destroy method. It's default is true and the value propogates down its children.
2014-02-27 20:05:16 +00:00
photonstorm
a1b502fc06 Stage.smoothed allows you to set if sprites will be smoothed when rendered. Set to false if you're using pixel art in your game. Default is true. Works in Canvas and WebGL. Setting the game anti-aliased parameter now works properly too.
Sprite.smoothed and Image.smoothed allows you to set per-Sprite smoothing, perfect if you just want to keep a few sprites smoothed (or not).
Fixes #381.
2014-02-25 04:41:57 +00:00
photonstorm
57796a60be TileSprites can now receive full Input events, dragging, etc and be positioned in-world and fixed to cameras (fixes #321) 2014-02-21 19:21:00 +00: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
d7ababa398 BitmapData.alphaMask will draw the given image onto a BitmapData using an image as an alpha mask. 2014-02-21 15:09:04 +00:00
photonstorm
07af06fc4e Fixing up documentation, missing functions, examples and alpha masks. 2014-02-21 14:50:18 +00:00
photonstorm
eb38ae35f8 renderXY added back into RenderTexture. 2014-02-21 13:44:39 +00:00
photonstorm
a61d030256 Display Objects now clean-up their children properly on destroy. 2014-02-21 13:25:08 +00:00
photonstorm
dd8a393bc9 Updated version of p2 2014-02-21 12:40:49 +00:00
photonstorm
efd760479d Sprite and Image now remove any masks that may have been set when they are destroyed. 2014-02-21 12:18:23 +00:00
photonstorm
9fcab5ef26 Lots of doc fixes (thanks nhowell) 2014-02-20 03:44:44 +00:00
photonstorm
4ad7b304c6 Added Game configuration option: forceSetTimeOut 2014-02-20 01:31:13 +00:00
photonstorm
5f79bb4330 Fix typos of method names in Button.js for doc #444 2014-02-19 15:01:59 +00:00
photonstorm
d9080052c3 Disabled World bounds by default.
Body.collides now takes a group level callback.
Added Body.createBodyCallback and Body.createGroupCallback.
2014-02-19 05:22:37 +00:00
photonstorm
f6807e23c6 Fixed Body.removeFromWorld 2014-02-19 04:05:12 +00:00
photonstorm
cad14848e8 Removed input handler from Graphics as it's just meant to be used as a texture really, if you need input events you can apply Graphics to a Sprite.
You can now create a Physics Body directly via game.physics.createBody(), and Body has been updated so it's no longer always bound to a Sprite.
Debug.renderPhysicsBody now works with Rectangles, Lines and multiple Convex shapes.
Starting to get the Tiled polyline parsing working nicely. Not too far off a complete tilemap collision.
2014-02-17 17:54:10 +00:00
photonstorm
78bf874888 Fresh build. Added pre/post update hooks to Graphics. 2014-02-17 11:27:31 +00:00
photonstorm
e5e643b103 fixedToCamera now works across all display objects. When enabled it will fix at its current x/y coordinate, but can be changed via cameraOffset.
fixedToCamrea now works for Groups as well :) You can fix a Group to the camera and it will influence its children.
Also fixed the issue with World.preUpdate/postUpdate not being called and various small documentation issues.
2014-02-15 01:27:42 +00:00
photonstorm
539a0f2256 BitmapFont fixes and updates and Cache support for it added. Working sweet now. 2014-02-14 16:38:06 +00:00
photonstorm
ef95fbaa00 BitmapFont moved to extending RenderTexture instead of BitmapData. Now applied as a texture to a Sprite/Image. 2014-02-14 13:50:50 +00:00
photonstorm
c3f306c795 Testing BitmapFont as a texture. 2014-02-14 12:07:04 +00:00
photonstorm
7d2a818d0d Added BitmapFont to the GameObjectFactory. 2014-02-14 06:16:36 +00:00