2017-07-24 3 views
1

Ich versuche Gravity.Y Arcade Physics auf eine Zeichenklasse (Phaser.Sprite) anzuwenden. Aber die Schwerkraft hatte keinen Einfluss auf den Sprite und blieb in seiner Position.Phaser Anwendung Physik auf Kind Klasse von Phaser.Sprite (ES6)

Gibt es eine bestimmte Reihenfolge, um die Physik anzuwenden? ANMERKUNG: Ich habe auch versucht, aktivieren/anwenden Physik vor und nach game.add.existing (char)

1) fehlgeschlagen

Ein Beispiel für die erweiterten Phaser.Sprite Zeichenklasse,

die ARCADE Physik angewendet hat, aber es funktioniert nicht:

class Char extend Phaser.Sprite { 
    constructor(game,x,y){ 
     super(game,x,y,'dude') 
     game.add.existing(this) 
     game.physics.arcade.enable(this) 
     this.body.gravity.y = 300 
    } 
} 

// calling it in create() 
create(game){ 
    game.physics.startSystem(Phaser.Physics.ARCADE) 

    var x = new Char(game,0,0) 

} 

2) Arbeiten

Und dann versucht, die normale Sprite Schöpfung und die gravity.y funktioniert ...

create(game){ 
    game.physics.startSystem(Phaser.Physics.ARCADE) 

    var x = game.add.sprite(0,0,'dude') 
    game.physics.arcade.enable(x) 
    x.body.gravity.y=300 
} 

Antwort

0

My Bad

Der Code tatsächlich funktioniert, es auf eine andere Einstellung zurückzuführen ist "fixedToCamera = true"