2014-03-05 50 views
0

我有cocos2d :: CCSprite *圖像[]的數組。我的所有圖像名稱都是數字,因此我使用隨機生成器隨機存儲圖像[]中的圖像。但我想從圖像[]使用for-loop獲取圖像名稱。怎麼做?Cocos2d-x Sprite圖像名稱

在此先感謝。

回答

0

我不認爲你可以從CCSprite對象檢索原始圖像的文件名。但你可以:

  1. 使用字典來存儲圖像的名字和精靈

///創建精靈CCString文件名( 「99.png」); CCSprite * sprite = CCSprite :: create(filename.getCString());

///創建字典CCDictionary * dict = CCDictionary :: create(); dict-> setObject(sprite,filename.intValue());

///從名稱sprite = dynamic_cast(dict-> objectForKey(99))獲取一個精靈;

CCDictElement * element = NULL; CCDICT_FOREACH(字典,元素)int spriteName = element-> getIntKey(); ///獲取整數鍵 CCObject * obj = element-> getObject(); ///獲取對象值 sprite = dynamic_cast(obj); ///角色到CCSprite}

  • 或使用結構和std ::矢量
  • 結構SpriteStruct { CCSprite *精靈; int name; };

    CCString filename(「99.png」); SpriteStruct s; s.sprite = CCSprite :: create(filename.getCString()); s.name = filename.intValue();

    std :: vector vector; vector.push_back(一個或多個); (const SpriteStruct & s:vector){0} {0} {0} {CCSprite * sprite = s.sprite;};};}; //遍歷整個向量爲(const SpriteStruct & s:vector) int name = s.name; }

    希望它有幫助。此致Laurent

    +0

    謝謝。我想現在我可以完成我的任務。 – user2848911