2017-09-19 2 views
0

J'ai chargé spriteSheetFrame en utilisant json. Je veux supprimer tout le TextureCache qui a été chargé en utilisant cette spritesheet.json seulement.PIXI remove spriteSheet Cache de texture

J'ai essayé.

PIXI.Texture.removeFromCache("spaceship"); 
PIXI.Texture.removeTextureFromCache("spaceship"); 

Mais dans les noms PIXI.TextureCache de tous les spriteFrame y ont été inclus. Et encore je suis capable d'utiliser un cadre de forme d'image. En utilisant cela.

var bgSprite2 = PIXI.Sprite.fromFrame("ship1"); 
bgSprite2.anchor.set(0.5, 0.5); 
var pos = {x: 300, y: 200}; 
bgSprite2.position.set(pos.x, pos.y); 
stage.addChild(bgSprite2); 

Je veux supprimer toutes les entrées de spriteFrame dans TextureCache et je veux charger une nouvelle série de spriteFrame. Je fais cela parce que j'ai des animations spritesheet de deux vaisseaux spatiaux différents mais le nom de symbole individuel des deux vaisseaux spatiaux est le même.

+0

Si les feuilles de sprites sont identiques en ce qui concerne les données json (seules les images sont différentes), que diriez-vous de changer/permuter la texture. Je me demande juste pourquoi vous avez 2 identiques et vous voulez supprimer le premier et utiliser le second. – Hachi

Répondre

0

Je suis d'accord avec Hachi que vous pourriez obtenir des performances en remplaçant simplement la texture plutôt qu'en la détruisant et en la recréant encore et encore. La mise en cache pourrait être la réponse.

Vous pouvez ensuite appeler détruire lorsque vous avez terminé avec eux pour vous assurer qu'il n'y a rien de traînant.