本身常用範例
auto pFrame= SpriteFrameCache::getInstance()->getSpriteFrameByName(test);
m_IconBox->setSpriteFrame(pFrame);
http://cocos2dx.logdown.com/posts/290248-cocos2dx-sprite-replace-the-picture-methodCocos2dx - Sprite 更換圖片的方法
Cocos2dx 中 Sprite 的使用是很重要的一環, 其中關於換掉Sprite舊有圖片的做法有許多種。
網路上常見的兩種方法
- cocos2d-x 改變精靈圖片的2種方法。第一種一般在當所有的圖片在一張圖片裡面,然後按坐標,按大家截取時候使用,這時候可以把圖片資源寫入.plist中。第二種一般在每張圖片單獨的時候,直接更換。
基本上網路上的做法為更換掉 Sprite 中的Texture, 或者將 SpriteFrame 中的DisplayFrame 換掉。
但必須得說, 這些做法都相對麻煩, 而且就效率來說與新建一張Sprite的成本, 差距不大。
於是有些時候我會採用下面的做法。
新建一張Sprite, 將裡面的Texture貼回需要替換的Sprite
- 限制: 更換Sprite 的 Texture時, 需要注意如果是更新有相同名稱的圖檔時, 需要先將舊有的 Cache清除, 不然使用相同名稱時, 會取成舊有Cache中的 Texture檔
沒有留言:
張貼留言