2016-06-29 13 views
0

Das Sprit ich für meinen Charakter verwenden sieht ungefähr so ​​aus (pink = transparent Teil):Wie verhindern SKPhysicsBody Stretching

sprite before adding physicsBody

Nachdem ich physicsBody meinen Knoten mit self.physicsBody = SKPhysicsBody(texture: self.texture!, size: self.size gesetzt), und meinem SKView gesetzt um zu zeigen, Physik, bekomme ich so eine übersicht:

enter image description here

Welche ist, im Grunde genommen, streckte die rechte Maske, um die Größe des Bildes zu passen.

Gibt es eine Möglichkeit, eine physicsBody genau um meinen Charakter zu bekommen?

Antwort

0

Es sollte funktionieren. Es funktioniert in meinem Code mit dieser Zeile:

self.physicsBody = SKPhysicsBody.init(texture: self.texture!, size: self.frame.size) 

Sind Sie sicher, dass Sie nicht das Sprite nach der Erstellung des Physik-Waage?

+0

Das gibt mir das gleiche Ergebnis. Und ja, ich bin mir sicher, dass ich den Knoten nach seiner Erstellung nicht skalieren werde. Und Skalierung ist nicht das Problem, aus dem Bild können Sie deutlich sehen, dass es gestreckt, um den Rahmen des Knotens anzupassen und es macht einfach keinen Sinn – EBDOKUM

+0

Wenn Sie mit self.frame.size versuchen? –

+0

Ja, kopierte deine Zeile genau – EBDOKUM

0

Nach dem Spiel um eine ganze Weile habe ich die Lösung gefunden:

Es ist seltsam, aber die SKPhysicsBody initializer eine neues SKTexture aus dem gleichen Bild zu geben, die für den SKTexture von SKSpriteNode initializer zu schaffen, arbeitete ganz gut für mich.

Verwandte Themen