Skip to content

Commit c429787

Browse files
committed
Button now extends Phaser.Image not Phaser.Sprite, all the same functionality as before remains, just no animations or physics body.
1 parent bf13c7b commit c429787

3 files changed

Lines changed: 18 additions & 14 deletions

File tree

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@ Significant API changes:
7070
* Sprite.deltaX and deltaY swapped to functions: Sprite.deltaX() and Sprite.deltaY()
7171
* Sprite.crop() now takes a Phaser.Rectangle instead of explicit parameters.
7272
* PixiPatch no longer needed, all features that it patched are now native in Pixi :)
73+
* Removed: Sprite.offset, center, topLeft, topRight, bottomRight, bottomLeft and bounds as no longer needed internally. Use Sprite.getBounds() to derive them.
74+
* Button now extends Phaser.Image not Phaser.Sprite, all the same functionality as before remains, just no animations or physics body.
7375

7476

7577
New features:

examples/buttons/button scale.js

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -78,17 +78,17 @@ function changeSky (button) {
7878

7979
function render () {
8080

81-
game.debug.renderSpriteCorners(button1, false, true);
82-
game.debug.renderSpriteCorners(button2, false, true);
83-
game.debug.renderSpriteCorners(button3, false, true);
84-
game.debug.renderSpriteCorners(button4, false, true);
85-
game.debug.renderSpriteCorners(button5, false, true);
86-
game.debug.renderSpriteCorners(button6, false, true);
81+
// game.debug.renderSpriteCorners(button1, false, true);
82+
// game.debug.renderSpriteCorners(button2, false, true);
83+
// game.debug.renderSpriteCorners(button3, false, true);
84+
// game.debug.renderSpriteCorners(button4, false, true);
85+
// game.debug.renderSpriteCorners(button5, false, true);
86+
// game.debug.renderSpriteCorners(button6, false, true);
8787

8888
// game.debug.renderWorldTransformInfo(button1, 32, 132);
8989
// game.debug.renderText('sx: ' + button3.scale.x + ' sy: ' + button3.scale.y + ' w: ' + button3.width + ' cw: ' + button3._cache.width, 32, 20);
90-
game.debug.renderText('ox: ' + game.stage.offset.x + ' oy: ' + game.stage.offset.y, 32, 20);
91-
game.debug.renderPoint(button3.input._tempPoint);
92-
game.debug.renderPoint(button6.input._tempPoint);
90+
// game.debug.renderText('ox: ' + game.stage.offset.x + ' oy: ' + game.stage.offset.y, 32, 20);
91+
// game.debug.renderPoint(button3.input._tempPoint);
92+
// game.debug.renderPoint(button6.input._tempPoint);
9393

9494
}

src/gameobjects/Button.js

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
* You can set a unique texture frame and Sound for any of these states.
1818
*
1919
* @constructor
20+
* @extends Phaser.Image
2021
*
2122
* @param {Phaser.Game} game Current game instance.
2223
* @param {number} [x=0] - X position of the Button.
@@ -37,7 +38,7 @@ Phaser.Button = function (game, x, y, key, callback, callbackContext, overFrame,
3738
callback = callback || null;
3839
callbackContext = callbackContext || this;
3940

40-
Phaser.Sprite.call(this, game, x, y, key, outFrame);
41+
Phaser.Image.call(this, game, x, y, key, outFrame);
4142

4243
/**
4344
* @property {number} type - The Phaser Object Type.
@@ -180,15 +181,17 @@ Phaser.Button = function (game, x, y, key, callback, callbackContext, overFrame,
180181
*/
181182
this.forceOut = false;
182183

184+
this.inputEnabled = true;
185+
186+
this.input.start(0, true);
187+
183188
this.setFrames(overFrame, outFrame, downFrame, upFrame);
184189

185190
if (callback !== null)
186191
{
187192
this.onInputUp.add(callback, callbackContext);
188193
}
189194

190-
this.input.start(0, true);
191-
192195
// Redirect the input events to here so we can handle animation updates, etc
193196
this.events.onInputOver.add(this.onInputOverHandler, this);
194197
this.events.onInputOut.add(this.onInputOutHandler, this);
@@ -197,8 +200,7 @@ Phaser.Button = function (game, x, y, key, callback, callbackContext, overFrame,
197200

198201
};
199202

200-
Phaser.Button.prototype = Object.create(Phaser.Sprite.prototype);
201-
Phaser.Button.prototype = Phaser.Utils.extend(true, Phaser.Button.prototype, Phaser.Sprite.prototype, PIXI.Sprite.prototype);
203+
Phaser.Button.prototype = Object.create(Phaser.Image.prototype);
202204
Phaser.Button.prototype.constructor = Phaser.Button;
203205

204206
/**

0 commit comments

Comments
 (0)