J'ai créé un certain nombre de sprites CCS en utilisant spriteWithFile.
Comment changer l'image du sprite pendant l'exécution ?
Je dois changer quelques images de sprites assez régulièrement.
J'ai créé un certain nombre de sprites CCS en utilisant spriteWithFile.
Comment changer l'image du sprite pendant l'exécution ?
Je dois changer quelques images de sprites assez régulièrement.
@FaheemRajput Si les sprites sont de taille différente, vous devrez le faire après avoir appelé la fonction setTexture --- [spriteWant2Change setTextureRect:CGRectMake(0, 0, tex.contentSize.width, tex.contentSize.height)];---
Dans COCOS2D-X, vous pouvez le faire de la manière suivante
CCTexture2D *tex = CCTextureCache::sharedTextureCache()->addImage("xyz.png");
sprit_name->setTexture(tex);
Si vous voulez changer la taille du sprite, écrivez aussi cette ligne.
sprit_name->setTextureRect(CCRectMake(0,0, tex->getContentSize().width, tex->getContentSize().height));
Je code cocos2D-x en c++ : lorsque vous utilisez une feuille de sprite au lieu d'utiliser un seul fichier, vous devez utiliser cette méthode. Supposons que vous ajoutez votre spriteSheet dans le calque principal.
CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("sprite_sheet.plist");
_gameBatchNode = CCSpriteBatchNode::create("sprite_sheet.png", 200);
this->addChild(_gameBatchNode, kMiddleground);
kMiddleground est juste un nombre entier défini.
Ensuite, je veux changer l'image d'un sprite qui a déjà un sprite avec le nom "cloud.png". J'utilise ce code pour le faire :
cloud->setDisplayFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("blackCloud.png") );
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.