Commit graph

180 commits

Author SHA1 Message Date
Paul
f7f940d3da Cache: addBitmapData can auto-create FrameData, fixes 1294
- In the "Particle Class" demo there was no explicitly-created FrameData which cause issues later on.
  This cache updates ensures that FrameData will be automatically created for any added cached bitmap data, unless such is explicitly supplied or forbidden.
- Impact: low
  - AnimationManager.loadFrameData is called for all Sprites with BitmapData (except those with an explicit null FrameData) added to the cache
2014-11-07 00:08:54 -08:00
photonstorm
da87c75e00 Loader.useXDomainRequest used to be enabled automatically for IE9 but is now always set to false. Please enable it only if you know your server set-up / CDN requires it, as some most certainly do, but we're finding them to be less and less used these days, so we feel it's safe to now disable this by default (#1248)
Loader.json was using the wrong context in IE9 with XDomainRequest calls (thanks @pnstickne #1258)
2014-10-27 12:31:55 +00:00
photonstorm
0f3cda0aed Cache.getRenderTexture will retrieve a RenderTexture that is stored in the Phaser Cache. This method replaces Cache.getTexture which is now deprecated.
Cache.autoResolveURL is a new boolean (default `false`) that automatically builds a cached map of all loaded assets vs. their absolute URLs, for use with Cache.getURL and Cache.checkURL. Note that in 2.1.3 and earlier this was enabled by default, but has since been moved behind this property which needs to be set to `true` *before* you load any assets to enable.

Cache._resolveUrl has been renamed to Cache._resolveURL internally and gained a new parameter. This method is a private internal one.

Cache.getUrl is deprecated. The same method is now available as Cache.getURL.

XML files weren't being added to the URL map.

Cache._resolveURL was causing a Sound double-load in Firefox and causing errors (thanks @domonyiv #1253)
2014-10-27 11:46:24 +00:00
photonstorm
474fd8e055 JSDoc fixes. 2014-10-21 23:08:16 +01:00
photonstorm
96fd0ade74 JSDoc fixes. 2014-10-21 22:43:42 +01:00
photonstorm
f0b7670506 Fixed an issue where audio files with query strings after them would fail the canPlayAudio checks (thanks Vithar) 2014-10-17 18:50:12 +01:00
photonstorm
9140163c85 Fixed a reference error to the Loader.baseURL in Cache._resolveUrl method (thanks @neurofuzzy #1235) 2014-10-15 21:36:44 +01:00
Richard Davey
e6754b0a87 Merge pull request #1221 from englercj/url-cache-map
Add ability to get a cached resource by url
2014-10-09 14:10:54 +01:00
Chad Engler
c21c0d5515 add url properties to destroy 2014-10-05 08:18:52 -07:00
Chad Engler
d9f477a086 add ability to get a cached resource by url 2014-10-04 20:48:21 -07:00
spayton
eeeb6c3733 This stops Phaser progressing with file loads when an audio file file
failed in IE.

The problem was that it was calling fileComplete everytime instead of
setting it as a callback.
2014-10-02 16:48:12 +01:00
photonstorm
d65c526184 Cache.addBitmapData has a new parameter: frameData allowing you to pass a Phaser.FrameData object along with the BitmapData.
Cache.getFrameData has a new parameter: `map` which allows you to specify which cache to get the FrameData from, i.e. `Phaser.Cache.IMAGE` or `Phaser.Cache.BITMAPDATA`.
Sprite.loadTexture if given a BitmapData as the texture will now query the cache to see if it has any associated FrameData, and if so it will load that into the AnimationManager.
2014-10-01 03:10:13 +01:00
Richard Davey
01fd3df434 AudioSprite support is now built into the Loader and SoundManager. AudioSprites are like sprite sheets, only they consist of a selection of audio files and markers in a json configuration. You can find more details at https://github.com/tonistiigi/audiosprite (thanks @codevinsky #1205)
Fixed AudioSprite jsdoc, casing and formatting issues.
2014-09-23 22:15:09 +01:00
Jeremy Dowell
7cce1366f2 jshint cleanup 2014-09-23 10:25:49 -05:00
Jeremy Dowell
dd0d1729ad Phaser.AudioSprite
AudioSprite implementation for phaser.

Loads audio sprites based on the file format created with: https://github.com/tonistiigi/audiosprite
2014-09-23 10:21:29 -05:00
photonstorm
5980a3bdc6 Loader can now natively load XML files via load.xml. Once the XML file has loaded it is parsed via either DOMParser or ActiveXObject and then added to the Cache, where it can be retrieved via cache.getXML(key).
Cache now has support for XML files stored in their own container. You can add them with `cache.addXML` (typically this is done from the Loader automatically for you) and get them with `cache.getXML(key)`. There is also `cache.checkXMLKey(key)`, `cache.checkKeys` and `cache.removeXML(key)`.
2014-09-19 13:45:04 +01:00
photonstorm
20551f9129 Lots of jsdocs fixes ready for the new doc generator. 2014-09-16 17:35:08 +01:00
Richard Davey
cf363a56f1 Cache.removeImage has a new parameter: removeFromPixi which is true by default. It will remove the image from the Pixi BaseTextureCache as well as from the Phaser Cache. Set to false if you don't want the Pixi cache touched. 2014-09-16 12:20:03 +01:00
photonstorm
57295d7ac8 jsdoc fixes. 2014-09-15 13:51:17 +01:00
photonstorm
5e6c40e392 Fixed the jsdocs and crop method used on preloader sprites. 2014-09-09 12:48:38 +01:00
photonstorm
1f84024a3e Cache.getImage now returns null if no image was found. 2014-09-03 11:11:48 +01:00
photonstorm
05922d6fb0 Lots of fixes to the Image class to restore texture loading and fix cropping so it works exactly the same as the Sprite now. 2014-08-28 17:04:59 +01:00
photonstorm
34426e7560 Loader.useXDomainRequest boolean automatically set to true if the browser is specifically detected as IE9, but you can still override this. IE10 will use xhr. 2014-08-28 05:24:57 +01:00
photonstorm
6216cf578c BitmapFonts are now correctly added to the Cache._bitmapFont array and returned via Cache.getBitmapFont (thanks @prudolfs #1076) 2014-08-28 03:52:26 +01:00
Richard Davey
7fe4abc5c4 Merge pull request #1059 from lucbloom/spritesheet-to-framecount
Sprite Sheet => frame count
2014-08-28 01:49:15 +01:00
photonstorm
7bfa6fa9f2 Loader.useXDomainRequest boolean added. If true (the default is false) it will use XDomainRequest when loading JSON files instead of xhr. In rare IE edge-cases this may be required. You'll know if you need it (#1131 #1116) 2014-08-28 01:23:45 +01:00
Luc Bloom
0fc30e839e Removed some more checks 2014-07-22 10:42:47 +02:00
Luc Bloom
7f3b542fdd Removed the notion of Sprite Sheets vs single frame images
Instead of making a distinction between single frame images and Sprite
Sheets, I added a simple FrameData with one Frame to every image that
gets loaded. This way, a lot of the engine code can be simplified.

For instance, you can play animations on any Sprite without having to
check the “frame count” of its image anymore.

The engine doesn’t have to check for non-existing .frameData anymore.

An animation can keep on playing when an image happens to be set with 1
frame, continuing its animation when after that, another image is set
with multiple frames.

Think of it this way: an image with one frame is an animation of just
one frame.
2014-07-22 10:24:53 +02:00
photonstorm
122640e01b Phaser.Loader was incorrectly getting the responseText from _xhr instead of _ajax on IE9 xDomainRequests (thanks @lardratboy #1050) 2014-07-21 11:12:58 +01:00
mjeffery
fcc23ef5d2 fixed onPackComplete Signal 2014-07-13 15:38:13 -04:00
photonstorm
22462566b4 Restored old Image object. 2014-07-11 18:02:40 +01:00
photonstorm
2293b64c94 Removing debug / console.log output. 2014-07-09 05:49:13 +01:00
photonstorm
dd88f2a6e2 Fixed BitmapText parser. 2014-07-09 05:39:49 +01:00
photonstorm
58fc73348c The StateManager has a preRenderCallback option, which checks for a preRender function existing on the State, but it was never called. Have decided to add this in, so the core Game loop now calls state.preRender right before the renderer runs (thanks @AnderbergE #869) 2014-07-02 05:32:40 +01:00
photonstorm
3d80568e4c Loader.isLoading is set to false if the filelist size is zero. 2014-06-30 09:24:25 +01:00
Richard Davey
56d1cef1c8 Merge pull request #941 from kay-is/master
Changed a @method string
2014-06-24 22:39:55 +01:00
Kay Plößer
4b7698d3e1 Changed a @method string so the documentation method name matches the code method name. 2014-06-24 14:16:38 +02:00
photonstorm
7c7d9153e6 Sprite.crop (and Image.crop) has been completely overhauled. You can now crop animated sprites (sprite sheet and texture atlas), you can define the x/y crop offset and the crop rectangle is exposed in the Sprite.cropRect property.
Sprite.updateCrop is available if you wish to update an externally referenced crop rectangle.
Sprites and Images now have their own textures objects, they are no longer references to those stored in the global Pixi.TextureCache. This allows you to redefine the texture frame dynamically without messing up any other Sprites in your game, such as via cropping. They still share global Base Textures, so image references are kept to a minimum.
Sprite.resetFrame will revert the Sprites texture frame back to its defaults dimensions. This is called when you call Sprite.crop with no rectangle, to reset the crop effect, but can be userful in other situations so we've left it as a public method.
2014-06-10 23:37:33 +01:00
photonstorm
c0b3bd224e Removed the Pixi texture cache calls. 2014-06-06 04:12:51 +01:00
photonstorm
5b5bdc80d9 Loader.pack will allow you to load in a new Phaser Asset Pack JSON file. An Asset Pack is a specially structured file that allows you to define all assets for your game in an external file. The file can be split into sections, allowing you to control loading a specific set of files from it. An example JSON file can be found in the resources folder and examples of use in the Phaser Examples repository.
Loader.totalQueuedPacks returns the number of Asset Packs in the queue.
Loader.totalLoadedPacks returns the number of Asset Packs already loaded.
2014-05-29 17:05:13 +01:00
photonstorm
4004cc92e3 First working pass at the Asset Pack Loader update. 2014-05-29 15:57:47 +01:00
photonstorm
066ab633a6 Loader.tilemap has renamed the mapURL parameter to url and mapData to data to keep it consistent with the other Loader methods.
Loader.physics has renamed the `dataURL` parameter to `url` and `jsonData` to `data` to keep it consistent with the other Loader methods.
2014-05-29 04:44:23 +01:00
photonstorm
7b876d5fc4 ScaleManager.bounds is a Rectangle object that holds the exact size of the game canvas, taking DOM offset and game scale into account.
Pointer.withinGame is now accurate based on game scale and updated as the Pointer moves.
Stage.bounds is now updated if the game canvas offset changes position. Note that it gives the un-scaled game dimensions.
2014-05-19 18:49:59 +01:00
photonstorm
da75a22e82 Cache.checkKey added - allows you to pass in a Cache type and a key and return a boolean.
Cache.checkCanvasKey(key) - Check if a Canvas key exists in the cache (thanks to @delta11 for the proposal)
Cache.checkTextureKey(key) - Check if a Texture key exists in the cache (thanks to @delta11 for the proposal)
Cache.checkSoundKey(key) - Check if a Sound key exists in the cache (thanks to @delta11 for the proposal)
Cache.checkTextKey(key) - Check if a Text key exists in the cache (thanks to @delta11 for the proposal)
Cache.checkPhysicsKey(key) - Check if a Physics key exists in the cache (thanks to @delta11 for the proposal)
Cache.checkTilemapKey(key) - Check if a Tilemap key exists in the cache (thanks to @delta11 for the proposal)
Cache.checkBinaryKey(key) - Check if a Binary key exists in the cache (thanks to @delta11 for the proposal)
Cache.checkBitmapDataKey(key) - Check if a BitmapData key exists in the cache (thanks to @delta11 for the proposal)
Cache.checkBitmapFontKey(key) - Check if a BitmapFont key exists in the cache (thanks to @delta11 for the proposal)
Cache.checkJSONKey(key) - Check if a JSON key exists in the cache (thanks to @delta11 for the proposal)
2014-05-19 11:34:14 +01:00
photonstorm
410bc389ed Tidying up ready to move the plugins to their own repo. 2014-05-08 01:57:21 +01:00
photonstorm
75a848f0ef Loader now uses XDomainRequest in IE9 to load JSON data to help with CORS issues. 2014-04-29 14:41:26 +01:00
photonstorm
348e3c14bd LoaderParser.bitmapFont updated so xml parsing works properly on IE9 (thanks @georgiee) 2014-04-28 13:35:30 +01:00
photonstorm
f33ba5dcc7 Timer has removed all use of local temporary vars in the core update loop.
Timer.clearPendingEvents will purge any events marked for deletion, this is run automatically at the start of the update loop.
The main Timer loop could incorrectly remove TimeEvent if a new one was added specifically during an event callback (thanks @garyyeap, fix #710)
2014-04-14 11:51:50 +01:00
jdowell
c9a67936d8 Added OnFileStart signal to loader
We've had a number of people in the channel ask for the ability to know when a file has started loading and to get the file names of said files.

Added the OnFileStart signal to do just that.
2014-04-11 13:17:26 -05:00
photonstorm
8fc2a465cd New Phaser package, small docs updates and preparing P2.World for new bounds code and v0.5.0 migration. 2014-04-08 03:31:13 +01:00
photonstorm
b6ad11701e Various jshint fixes. 2014-04-01 01:30:20 +01:00
Georgios Kaleadis
0d77b36fc4 fixed p2 physics loading format and added the ability to extract a single fixture 2014-03-31 11:19:08 +03:00
Georgios Kaleadis
0a456d81c1 remove physics loader flags in p2 world, fix naming in loader 2014-03-31 10:46:17 +03:00
Christian Wesselhoeft
3b4c034452 Constrain Windows Scripting Host env to Loader.js 2014-03-25 14:56:05 -07:00
Christian Wesselhoeft
2ea76d1216 Fix jshint issues in src/loader 2014-03-25 14:56:05 -07:00
Christian Wesselhoeft
61f18b675c Trim trailing whitespace. 2014-03-25 14:56:04 -07:00
photonstorm
870d534e50 Fixed the Loader.preloadSprite crop effect on WebGL. 2014-03-18 16:23:44 +00:00
photonstorm
c8e63582a4 Lots of small tweaks to pass jshint. 2014-03-13 16:49:52 +00:00
Charles Black
3d64410d7c Fix copy paste errors 2014-03-10 11:53:08 -04:00
Charles Black
6768cfd970 Cache.destory now destroys cache correctly 2014-03-10 11:22:06 -04:00
Dan Cox
806b8eb82a Update LoaderParser.js
Remove "navigator.isCocoonJS" here as CocoonJS has neither window.DOMParser nor will a createElement('div') work under Accelerated Canvas/WebGL mode. (Under WebView mode, there will probably be a DOMParser object. Most have it.)
2014-03-10 02:59:32 -04:00
photonstorm
d75f6e163f Updated tilemap type to string (fixes #516) 2014-03-06 16:53:52 +00:00
photonstorm
e45a929b00 Body.loadPolygon now parses all shapes that may exist in a JSON data file, and re-creates them all on the Body. Assumes shapes are CCW + Convex (tested working with Lime Exportor). Almost fixes #449 but Body rotation seems to screw orientation of shapes. 2014-02-28 05:46:02 +00:00
photonstorm
10b3dbf74a Loader.replaceInFileList wouldn't over-write the previous entry correctly, which caused the Loader.image overwrite parameter to fail (thanks basoko, fixes #493) 2014-02-27 21:41:54 +00:00
photonstorm
5ab104ad4b Loader.script now has callback (and callbackContext) parameters, so you can specify a function to run once the JS has been injected into the body. 2014-02-26 02:45:06 +00:00
photonstorm
1448562abd Loader can now load JSON files specifically (game.load.json) and they are parsed and stored in the Game.Cache. Retrieve with game.cache.getJSON(key) (#329)
Also fixed UTF encoding on the animation file.
2014-02-21 18:48:06 +00:00
photonstorm
fb5920feec We now force IE11 into Canvas mode to avoid a Pixi bug with pre-multiplied alpha. Will remove once that is fixed, sorry, but it's better than no game at all, right? :(
Loader.setPreloadSprite() will now set sprite.visible = true once the crop has been applied. Should help avoid issues (#430) on super-slow connections.
2014-02-21 17:29:51 +00:00
photonstorm
e5a4620b87 Loader.physics now lets you load Lime + Corona JSON Physics data, which can be used with Body.loadPolygon and Body.loadData.
Cache.addPhysicsData and Cache.getPhysicsData allow you to store parsed JSON physics data in the cache, for sharing between Bodies.
2014-02-14 23:51:49 +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
b38b00c2c1 Loader.bitmapFont now has 2 extra parameters: xSpacing and ySpacing. These allow you to add extra spacing to each letter or line of the font. 2014-02-14 04:34:57 +00:00
photonstorm
24f2e2a46d BitmapText updated and bought in-line with the new Text class. Moved to use the new Bitmap Text XML loader which should work fine on CocoonJS now and also supports multiple bitmap fonts per cache. 2014-02-14 03:34:35 +00:00
photonstorm
da878b2181 Updated the Gruntfile. Also:
InputHandler.pixelPerfectOver - performs a pixel perfect check to see if any pointer is over the current object (warning: very expensive!)
InputHandler.pixelPerfectClick - performs a pixel perfect check but only when the pointer touches/clicks on the current object.
Previously using a Pixel Perfect check didn't work if the Sprite was rotated or had a non-zero anchor point, now works under all conditions + atlas frames.
2014-02-11 13:23:54 +00:00
photonstorm
0896c2fac7 Updating copyright year and README. 2014-02-05 16:54:59 +00:00
photonstorm
902ffee808 Loader.progressFloat contains the actual non-rounded progress value, where-as Loader.progress contains a rounded value. Use progressFloat if you've > 100 files to load. 2013-12-31 17:35:40 +00:00
photonstorm
86f6ddcbc8 Two new particle examples and a group animation example. Also fixed CocoonJS sound issue and Cache sound locked bug. 2013-12-31 03:37:11 +00:00
photonstorm
ce4cf531d4 Added class constructors, fixed Stripshader, added relative Tween example and updated Tween source. 2013-12-30 16:54:00 +00:00
photonstorm
167a498a5e Phaser.Game constructor can now be passed a single object containing game settings + Stage settings, useful for advanced configurations. 2013-12-24 03:18:55 +00:00
photonstorm
3cbb820349 You can now load any binary file via the Loader: game.load.binary(key, url, callback) - the optional callback allows for post-load processing before entering the Cache. 2013-12-20 18:27:36 +00:00
photonstorm
5cf7ed4fdb More TypeScript updates. 2013-12-18 16:56:14 +00:00
photonstorm
f991f9cee8 Tweens have a new event: onLoop.
Tweens - Example showing how to use the tween events, onStart, onLoop and onComplete.
Lots of documentation fixes in the Tween class.
Tweens fire an onLoop event if they are set to repeat. onComplete is now only fired for the final repeat (or never if the repeat is infinite)
Tween.onStart is now called when the tween starts AFTER the delay value, if given (thanks stevenbouma)
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
dd7ae12271 ArcadePhysics.overlap and collide now recognise TileSprites in the collision checks. 2013-12-17 16:48:03 +00:00
photonstorm
a361a18616 Updated IE11 check, forces IE11 to use Canvas renderer even in AUTO mode. 2013-12-13 14:04:14 +00:00
photonstorm
669570c701 Tidying up the examples and more Tilemap work. 2013-12-10 12:23:42 +00:00
photonstorm
42c0bed502 Fixed World.scale and Group.scale. 2013-12-03 02:13:57 +00:00
photonstorm
00a9897ae2 Updated Filter resolution to a 2f and added Blur and Marble filters. 2013-11-29 12:26:53 +00:00
photonstorm
f22159e257 Updated documentation. 2013-11-28 15:57:09 +00:00
photonstorm
8da9b67c18 Loader fixed for tilemap data. 2013-11-28 14:22:47 +00:00
photonstorm
780b8a5d6d New filters and demos: LightBeams, Fire and Tunnel. Also Loader can now load script files. 2013-11-28 05:43:35 +00:00
photonstorm
a9a46bfbbf Lots of documentation updates and new Loader examples. 2013-11-27 16:33:49 +00:00
photonstorm
4926fac578 New non-conflicting Loading system in place. Creating tests. 2013-11-26 21:10:01 +00:00
photonstorm
2fc5c89c1e Preparing to extend the Loader to handle script loading. 2013-11-26 17:14:21 +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
photonstorm
a876fdd2b6 README update, Loader audio path fix and Tween.isRunning fix. 2013-11-24 13:16:55 +00:00
photonstorm
496639ff25 Added Phaser.Filter and started moving the shaders over into their own filter classes, so they won't all get bundled in unless needed. 2013-11-21 05:00:07 +00:00
TheJare
f115a2dbf8 Remove references to GameMath, it's just Math now
Throw exceptions if wrong format given to tilemap or textureatlas. Previously, old onload remained active and error happened in the wrong (and hard to diagnose) place.
2013-11-20 00:12:37 +01:00
Richard Davey
ebe441666c BitmapData object added 2013-11-13 20:57:09 +00:00
photonstorm
1f28d328a7 Commit before refactoring Sprite guts. 2013-10-24 21:21:00 +01:00