Pixi.js: La définition de l'ancre ne doit pas redessiner le contenu de l'objet d'affichage

Créé le 11 avr. 2018  ·  4Commentaires  ·  Source: pixijs/pixi.js

Salut,

malgré que le pivot et l'ancre soient super déroutants, si j'imagine l'ancre comme ce point rond que je peux définir dans photoshop ou dans l'ancien éditeur flash comme point de rotation, ce qui se passe dans pixi, c'est que tout le contenu de l'objet d'affichage est redessiné en définissant l'ancre comme origine point.

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

Avec cet exemple, je m'attends à ce que le lapin soit avec l'ancre qui affecte sa rotation mais que le lapin ne soit pas redessiné !

💾 v4.x (Legacy) 🤔 Question

Tous les 4 commentaires

Chaque élément a une transformation, qui est position/rotation/pivot
Les sprites ont une ancre, cela signifie que "ce point de texture doit être dans (0,0) du système de coordonnées local".

Le pivot de rotation est toujours (0,0) du système de coordonnées local.

Si vous souhaitez un comportement différent, vous pouvez modifier la classe Transform et créer des instances de votre Transform patché pour les éléments affectés.

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

De plus, le lapin est redrawn chaque image dans pixi. La bibliothèque n'a pas de mécanismes pour suivre tous les changements, elle fonctionne simplement. Sinon, il pourrait peser 3 Mo ou plus :)

Pour votre cas, il est préférable de régler le pivot au centre du lapin. Assurez-vous de le faire par des constantes, utilisez bunny.texture.width uniquement lorsqu'il est chargé.

@DavidGOrtega fermant ceci car je pense que votre question a reçu une réponse. N'hésitez pas à rouvrir si vous avez d'autres problèmes !

Ce fil a été automatiquement verrouillé car il n'y a eu aucune activité récente après sa fermeture. Veuillez ouvrir un nouveau problème pour les bogues liés.

Cette page vous a été utile?
0 / 5 - 0 notes