Cocos2dx 中 Sprite 的使用是很重要的一環, 其中關於換掉Sprite舊有圖片的做法有許多種。
網路上常見的兩種方法
基本上網路上的做法為更換掉 Sprite 中的Texture, 或者將 SpriteFrame 中的DisplayFrame 換掉。
但必須得說, 這些做法都相對麻煩, 而且就效率來說與新建一張Sprite的成本, 差距不大。
於是有些時候我會採用下面的做法。
新建一張Sprite, 將裡面的Texture貼回需要替換的Sprite
- 限制: 更換Sprite 的 Texture時, 需要注意如果是更新有相同名稱的圖檔時, 需要先將舊有的 Cache清除, 不然使用相同名稱時, 會取成舊有Cache中的 Texture檔
筆者: 好處是不需要額外處理 Texture中的許多細節, 缺點則是多了一個 create 的呼叫, 在有許多圖檔建立時, App會變得很慢, 所以這種作法請千萬不要在需要一次更換很多圖檔時使用。
最後, 我們有個關於 Cocos2d-x 的Facebook社團, 如果有任何疑難問題, 歡迎到社團發問。
Cocos2dx Taiwan 開發者社團
探索更多來自 懶泥陳的閱讀書房 的內容
訂閱後即可透過電子郵件收到最新文章。