Als Teil meiner Übung mit Phaser versuche ich ein einfaches Clicker-Spiel zu erstellen. Ich kann die Schaltfläche jedoch nicht aufrufen, um das gewünschte Bild anzuzeigen.Phaser JS - Button kann den Frame-Namen nicht aus dem Bild auswählen Sprite
Hier ist mein Haupt gameplay.js:
class Gameplay extends Phaser.State {
init()
{
var btnUp = this.game.add.sprite(0, 0, 'btn_beerUp');
var btnDn = this.game.add.sprite(0, 0, 'btn_beerDn');
this.clickButton = this.game.add.button(this.game.world.centerX - 100, this.game.world.centerY + 230, 'game', this.pauseGame, this, btnUp.key, btnUp.key, btnDn.key);
this.clickButton.anchor.set(0.5, 0.5);
}
Und hier ist mein preloader.js (wo im Idealfall alle Bilder geladen sind):
class Preload extends Phaser.State {
create() {
this.game.load.image('btn_beerDn', 'res/img/btn_beerClickerDn.png');
this.game.load.image('btn_beerUp', 'res/img/btn_beerClickerUp.png');
}
es nicht funktioniert wie erwartet. Das Spiel fügt einfach die btnUp
und btnDn
als Bilder in der Szene hinzu und tut nichts für die Schaltfläche.
Ich habe auch versucht, die folgenden:
this.clickButton = this.game.add.button(blah-blah, 'btn_beerUp', 'btn_beerUp', 'btn_beerDn');
this.clickButton = this.game.add.button(blah-blah, 'res/img/btn_beerClickerUp.png', 'res/img/btn_beerClickerUp.png', 'res/img/btn_beerClickerDn.png');
Aber keiner von ihnen arbeiten - die Schaltfläche zeigt noch eine Schaltfläche mit einem „x“.
Die Proben online befassen sich hauptsächlich mit Atlasblättern von dem, was ich nachschlagen kann. Während ich schließlich dazu übergehen werde, ein Atlas-Blatt für Knöpfe zu verwenden, scheint es albern, dass ich nicht einfach mit einem PNG arbeiten kann.
Irgendwelche Vorschläge?