Jump to content

Phaser 2.1.2 "Whitebridge" is Released


Recommended Posts

I'm pleased to say that we released Phaser 2.1.2 today.


Phaser 2.1.2 carries on with our latest round of new features, updates and fixes, demonstrating our commitment to continuously improving our framework and responding to feedback.


This release adds in a number of new features including Audio Sprite json format support, native loading of XML files, Sound fades, per character Text colours, further updates to BitmapData, the ability to use BitmapData with frames as Sprite textures, Group filter, search the Cache by URL and plenty of updates and bug fixes too - including the death of the pesky getPixel issue on Safari / iOS.


Internally we are using Phaser in ever larger client based projects. Thousands of lines of code spread across many States and classes, and we're paying close attention to how best to adapt the API to make life easier for those building apps of the size we are. If there are any features you would like to see then now is the time to suggest them, either by email, the forum or github.


We're also pleased to announce that we have 3 new premium plugins gearing up for launch. They are:


Phaser Box2D - Adds complete Box2D support directly into Phaser, with lots of help methods, over 50 examples and 5 demo games.


Phaser Path Manager - Create complex motion paths for Sprites with a lovely visual editor and this new plugin. No longer rely on tweens for motion :) Instead draw a path, with full branch support, path orientation, segment speeds, path events and more.


Advanced Particle System - The particles included with Phaser are flexible and can create attractive effects. But Advanced Particles is a complete replacement offering professional level particle effects for your games. From multiple render targets, to bitmap caching to all kinds of events, emitters and properties.


Each plugin will come in a range of versions to suit all budgets and there are more on the way.


Please visit the launch page to sign-up for notification as soon as they're ready.

Link to comment
Share on other sites

Good job.


However, slowdowns experienced with 2.1.0 and 2.1.1 are still occuring, which is not the case with 2.0.5 and 2.0.7


But this time it's not casual, it's contant slowdown.


I've upgraded to maverick, I use the latest firexox (which is far from being the best browser regarding performances, but that's on purpose).


Those slowdowns do not occure on android with cocoonjs.

Performances and excelent.

Same with chrome, no slowdowns.


I've also noticed that there's much less heating with this version on my galaxySII than with 2.0.7.






Just to let you know.

Link to comment
Share on other sites

For some reason I get the following error when switching to 2.1.2:


Uncaught ReferenceError: PIXI is not defined                                                                      phaser.js:82
It worked perfectly on the previous version (and still does when I switch back).
Link to comment
Share on other sites

After updating from 2.0.7. to 2.1.2 I noticed issues with the elapsed. Okay there's change with the timeCap (btw missing from TypeScript definitions) values. This caused some of my tween updates to behave incorrectly as the time scale calculated was capped to min 60fps (as default timeCap is min 60fps). Previous value was 1000ms (min 1fps). 


Nothing wrong with that really, although I think the default timeCap should be a bit higher to allow some spiking instead of fixing it to 60fps which is fairly high for mobile platforms (except for the latest devices). Also the Timer.timeCap did not receive the same default value change. 


Now what is the correct way of calculating elapsed difference of previous update() in a way that it is compatible with Timer and Tween (which don't timeCap)? As these obviously don't use the Time.elapsed and they go out of sync if timeCap is met. imho. the value of elapsed should be available prior timeCap for doing time scaling for manual animations (ie. driven partially through Tween) and without needing to store the previous update() time somewhere yourself.


Other than that, update went very well beside Sound.allowMultiple change which I had to set back to old default (default value would be nice to be able to configure instead of setting for every Sound object after creation). However I'm aware the problems with the current sound management and plan to improve it to bit on our following games and interested in the advanced particle system.

Link to comment
Share on other sites

Good point re: Timer.timeCap, I've updated it to reflect the same as Time. If they are too low both can be overridden easily.


A previous un-modified time value could be handy for sure, so I've added it in (https://github.com/photonstorm/phaser/commit/3997a7c37205a7f4e7ae84c18cff026716e1acb5)


Tweens have never been linked to the Time.elapsed value and always calculated their own in a quite basic way. They could probably be changed to use it, it may keep things more aligned. I may test it in the dev branch, but honestly it may cause more trouble than it solves!

Link to comment
Share on other sites

Thanks for quick response time. The core idea which put me thinking about the timers and tweens for being linked to actual ticks (elapsed) instead of absolute time was that it would allow to do time scaling (either way, slower or faster) effects on tween level and archive those "classy" Matrix style Bullet Time effects. Of course there are places where you need absolute time timers (audio crossfading, etc). 

Link to comment
Share on other sites

Not sure if this is the proper place to put this request,


Newbie to phaser and like what i'm seeing so far. I have been working with other engines in the past and the performance with phaser its lovely. 

The one thing that I would love is a better animation manager. 


basically a more dynamic way of creating animation names. for example. 

if i want to create an animation of a frame range i can just do:

this.flame.animations.add('burn',[0-59]); // frame 0- 59 will play

this.flame.animations.add('burn2',[29-50,'burn']); // will play 29 - 59 then the burn animation in a loop


The reason for this is to allow for specific animations that need to loop with other custom animations on top of it. 

I have a lot of other games that use this but phaser won't let me so its tough to create seamless animations with some of my sprites. 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...