Pixi.js: Establecer el ancla no debería volver a dibujar el contenido del objeto de visualización

Creado en 11 abr. 2018  ·  4Comentarios  ·  Fuente: pixijs/pixi.js

Hola,

a pesar de que el pivote y el ancla son muy confusos, si imagino el ancla como ese punto redondo que puedo establecer en photoshop o en el antiguo editor flash como punto de rotación, lo que sucede en pixi es que todo el contenido del objeto de visualización se vuelve a dibujar estableciendo el ancla como el origen punto.

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);

Con este ejemplo, espero que el conejito esté con el ancla que afecta su rotación cambiada, ¡pero no se volverá a dibujar el conejito!

💾 v4.x (Legacy) 🤔 Question

Todos 4 comentarios

Cada elemento tiene una transformación, que es posición / rotación / pivote
Los sprites tienen ancla, lo que significa que "este punto de textura debe estar en (0,0) del sistema de coordenadas local".

El pivote de rotación es siempre (0,0) del sistema de coordenadas local.

Si desea un comportamiento diferente, puede cambiar la clase Transform y crear instancias de su Transform parcheada para los elementos afectados.

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

Además, bunny cuesta redrawn cada fotograma en pixi. La biblioteca no tiene mecanismos para rastrear todos los cambios, simplemente funciona. De lo contrario, podría pesar 3 MB o más :)

Para su caso, es mejor colocar el pivote en el centro del conejo. Asegúrese de hacerlo por constantes, use bunny.texture.width solo cuando esté cargado.

@DavidGOrtega cerrando esto porque siento que tu pregunta ha sido respondida. ¡No dudes en volver a abrir si tienes más problemas!

Este hilo se ha bloqueado automáticamente ya que no ha habido ninguna actividad reciente después de que se cerró. Abra un nuevo problema para errores relacionados.

¿Fue útil esta página
0 / 5 - 0 calificaciones