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!
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.