mirror of
https://github.com/photonstorm/phaser
synced 2025-02-16 22:18:29 +00:00
New Group.destroy example and patched the desyrel font xml.
This commit is contained in:
parent
ce4cf531d4
commit
ba74bea4b4
6 changed files with 103 additions and 12 deletions
|
@ -107,6 +107,7 @@ Updates:
|
|||
* You can now collide a group against itself, to have all children collide, and bodies won't check against themselves (thanks cocoademon)
|
||||
* RenderTexture.render / renderXY has a new parameter: renderHidden, a boolean which will allow you to render Sprites even if their visible is set to false.
|
||||
* Added in prototype.constructor definitions to every class (thanks darkoverlordofdata)
|
||||
* Group.destroy has a new parameter: destroyChildren (boolean) which will optionally call the destroy method of all Group children.
|
||||
|
||||
|
||||
Bug Fixes:
|
||||
|
@ -124,6 +125,8 @@ Bug Fixes:
|
|||
* RenderTexture now displays correctly in Canvas games.
|
||||
* Canvas.addToDOM is now more robust when applying the overflowHidden style.
|
||||
* Fixed Pixi.StripShader which should stop the weird TileSprite GPU issues some were reporting (thanks GoodboyDigital)
|
||||
* Patched desyrel.xml so it doesn't contain any zero width/height characters, as they broke Firefox 25.
|
||||
|
||||
|
||||
|
||||
You can view the Change Log for all previous versions at https://github.com/photonstorm/phaser/changelog.md
|
||||
|
@ -291,6 +294,7 @@ Beyond version 1.2
|
|||
* Create more touch input examples (http://www.html5gamedevs.com/topic/1556-mobile-touch-event/)
|
||||
* Look at HiDPI Canvas settings.
|
||||
* Support for parallel asset loading.
|
||||
* Fixed width bitmap font support, plus enhanced Bitmap font rendering.
|
||||
|
||||
|
||||
Contributing
|
||||
|
|
|
@ -99,7 +99,7 @@
|
|||
<char id="46" x="214" y="391" width="13" height="13" xoffset="3" yoffset="54" xadvance="11" page="0" chnl="0" letter="."/>
|
||||
<char id="95" x="228" y="391" width="46" height="12" xoffset="-2" yoffset="63" xadvance="35" page="0" chnl="0" letter="_"/>
|
||||
<char id="45" x="275" y="391" width="29" height="11" xoffset="9" yoffset="46" xadvance="34" page="0" chnl="0" letter="-"/>
|
||||
<char id="32" x="305" y="391" width="0" height="0" xoffset="23" yoffset="81" xadvance="23" page="0" chnl="0" letter="space"/>
|
||||
<char id="32" x="305" y="391" width="1" height="1" xoffset="23" yoffset="81" xadvance="23" page="0" chnl="0" letter="space"/>
|
||||
</chars>
|
||||
<kernings count="1816">
|
||||
<kerning first="102" second="102" amount="2"/>
|
||||
|
|
54
examples/wip/group destroy.js
Normal file
54
examples/wip/group destroy.js
Normal file
|
@ -0,0 +1,54 @@
|
|||
var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, render: render });
|
||||
|
||||
function preload() {
|
||||
|
||||
game.load.image('atari1', 'assets/sprites/atari130xe.png');
|
||||
game.load.image('atari2', 'assets/sprites/atari800xl.png');
|
||||
game.load.image('atari4', 'assets/sprites/atari800.png');
|
||||
game.load.image('sonic', 'assets/sprites/sonic_havok_sanity.png');
|
||||
game.load.image('duck', 'assets/sprites/darkwing_crazy.png');
|
||||
game.load.image('firstaid', 'assets/sprites/firstaid.png');
|
||||
game.load.image('diamond', 'assets/sprites/diamond.png');
|
||||
game.load.image('mushroom', 'assets/sprites/mushroom2.png');
|
||||
|
||||
}
|
||||
|
||||
var group;
|
||||
var sprite;
|
||||
|
||||
function create() {
|
||||
|
||||
var images = game.cache.getImageKeys();
|
||||
|
||||
group = game.add.group();
|
||||
|
||||
for (var i = 0; i < 20; i++)
|
||||
{
|
||||
sprite = group.create(game.world.randomX, game.world.randomY, game.rnd.pick(images));
|
||||
}
|
||||
|
||||
sprite.x = 100;
|
||||
sprite.y = 100;
|
||||
|
||||
game.add.tween(sprite).to( { y: 200 }, 2000, Phaser.Easing.Linear.None, true, 0, 1000, true);
|
||||
|
||||
game.input.onDown.addOnce(nuke, this);
|
||||
|
||||
}
|
||||
|
||||
function nuke() {
|
||||
|
||||
// The optional parameter here will destroy the Sprites as well as the Group.
|
||||
// The default is 'false' which means destroy the Group, but none of the children.
|
||||
group.destroy(true);
|
||||
|
||||
console.log(group);
|
||||
console.log(sprite);
|
||||
|
||||
}
|
||||
|
||||
function render() {
|
||||
|
||||
game.debug.renderText('Click to nuke', 32, 32);
|
||||
|
||||
}
|
|
@ -1338,11 +1338,31 @@ Phaser.Group.prototype = {
|
|||
* Destroys this Group. Removes all children, then removes the container from the display list and nulls references.
|
||||
*
|
||||
* @method Phaser.Group#destroy
|
||||
* @param {boolean} [destroyChildren=false] - Should every child of this Group have its destroy method called?
|
||||
*/
|
||||
destroy: function () {
|
||||
destroy: function (destroyChildren) {
|
||||
|
||||
this.removeAll();
|
||||
if (typeof destroyChildren === 'undefined') { destroyChildren = false; }
|
||||
|
||||
if (destroyChildren)
|
||||
{
|
||||
if (this._container.children.length > 0)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (this._container.children[0].group)
|
||||
{
|
||||
this._container.children[0].destroy();
|
||||
}
|
||||
}
|
||||
while (this._container.children.length > 0);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this.removeAll();
|
||||
}
|
||||
|
||||
this._container.parent.removeChild(this._container);
|
||||
|
||||
this._container = null;
|
||||
|
@ -1505,7 +1525,16 @@ Phaser.Group.prototype.constructor = Phaser.Group;
|
|||
Object.defineProperty(Phaser.Group.prototype, "total", {
|
||||
|
||||
get: function () {
|
||||
return this.iterate('exists', true, Phaser.Group.RETURN_TOTAL);
|
||||
|
||||
if (this._container)
|
||||
{
|
||||
return this.iterate('exists', true, Phaser.Group.RETURN_TOTAL);
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
@ -1518,7 +1547,16 @@ Object.defineProperty(Phaser.Group.prototype, "total", {
|
|||
Object.defineProperty(Phaser.Group.prototype, "length", {
|
||||
|
||||
get: function () {
|
||||
return this._container.children.length;
|
||||
|
||||
if (this._container)
|
||||
{
|
||||
return this._container.children.length;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
|
|
@ -120,11 +120,6 @@ Phaser.BitmapText = function (game, x, y, text, style) {
|
|||
this._cache.x = this.x;
|
||||
this._cache.y = this.y;
|
||||
|
||||
/**
|
||||
* @property {boolean} renderable - A renderable object will be rendered to the context each frame.
|
||||
*/
|
||||
this.renderable = true;
|
||||
|
||||
};
|
||||
|
||||
Phaser.BitmapText.prototype = Object.create(PIXI.BitmapText.prototype);
|
||||
|
@ -153,8 +148,8 @@ Phaser.BitmapText.prototype.update = function() {
|
|||
this._cache.dirty = true;
|
||||
}
|
||||
|
||||
this.pivot.x = this.anchor.x*this.width;
|
||||
this.pivot.y = this.anchor.y*this.height;
|
||||
this.pivot.x = this.anchor.x * this.width;
|
||||
this.pivot.y = this.anchor.y * this.height;
|
||||
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue