Pixi.js: Das Setzen des Ankers sollte den Inhalt des Displayobjekts nicht neu zeichnen

Erstellt am 11. Apr. 2018  ·  4Kommentare  ·  Quelle: pixijs/pixi.js

Hallo,

Trotz dieses Drehpunkts und Ankers ist es sehr verwirrend. Wenn ich mir den Anker als diesen runden Punkt vorstelle, den ich in Photoshop oder im alten Flash-Editor als Drehpunkt festlegen kann, passiert in pixi, dass der gesamte Inhalt des Displayobjekts neu gezeichnet wird, indem der Anker als Ursprung festgelegt wird Punkt.

var app = new PIXI.Application(800, 600, {backgroundColor : 0x1099bb});
document.body.appendChild(app.view);

var bunny = PIXI.Sprite.fromImage('required/assets/basics/bunny.png');

var container = new PIXI.Sprite();
container.addChild(bunny);
container.x = 0;
container.y = 0;

app.stage.addChild(container);

bunny.anchor.set(0.5);
//bunny_c.pivot.set(15,5);

Bei diesem Beispiel erwarte ich, dass der Hase mit dem Anker, der seine Drehung beeinflusst, geändert wird, aber nicht, dass der Hase neu gezeichnet wird!

💾 v4.x (Legacy) 🤔 Question

Alle 4 Kommentare

Jedes Element hat eine Transformation, die Position/Rotation/Pivot ist
Sprites haben Anker, das heißt "Dieser Texturpunkt sollte in (0,0) des lokalen Koordinatensystems liegen".

Drehpunkt ist immer (0,0) des lokalen Koordinatensystems.

Wenn Sie ein anderes Verhalten wünschen, können Sie die Transform-Klasse ändern und Instanzen Ihres gepatchten Transforms für die betroffenen Elemente erstellen.

https://github.com/pixijs/pixi.js/blob/dev/src/core/display/TransformStatic.js
https://github.com/pixijs/pixi.js/blob/dev/src/core/sprites/Sprite.js#L174

Außerdem ist Hase redrawn jeden Frame in Pixeln. Die Bibliothek verfügt nicht über Mechanismen, um alle Änderungen zu verfolgen, sie funktioniert einfach. Andernfalls könnte es 3 MB oder mehr wiegen :)

Für Ihren Fall ist es besser, den Drehpunkt auf die Mitte des Hasen zu setzen. Stellen Sie sicher, dass Sie dies mit Konstanten tun, verwenden Sie bunny.texture.width nur, wenn es geladen ist.

@DavidGOrtega schließt dies, da ich der Meinung bin, dass Ihre Frage beantwortet wurde. Bei weiteren Problemen gerne wieder öffnen!

Dieser Thread wurde automatisch gesperrt, da nach dem Schließen in letzter Zeit keine Aktivität stattgefunden hat. Bitte öffnen Sie eine neue Ausgabe für verwandte Fehler.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

madroneropaulo picture madroneropaulo  ·  3Kommentare

sntiagomoreno picture sntiagomoreno  ·  3Kommentare

distinctdan picture distinctdan  ·  3Kommentare

courtneyvigo picture courtneyvigo  ·  3Kommentare

neciszhang picture neciszhang  ·  3Kommentare