2013-03-15 37 views
0

我有一些加密的圖像..它們很沉重,所以我想通過將它們添加到CCTextureCache來預加載它們。但是,CCTextureCache不接受CCTexture2D作爲參數..我能做什麼?如何將CCTexture2D添加到CCTextureCache cocos2d

CCTexture2D *img = [[[CCTexture2D alloc] initWithImage:[UIImage imageWithContentsOfEncryptedFile:path]] autorelease]; 

     [[CCTextureCache sharedTextureCache] addImage:img]; // not accepted!! 

回答

1

兩個選項:

  • 添加緩存CCTexture2D *對象具有鍵(唯一的字符串)的方法
  • 保存的UIImage到磁盤(應用程序支持目錄),然後加載它正常與cocos2d

後一個選項將導致顯着的延遲,由於加載過程的保存&。我會推薦第一種方法。您需要編寫該函數的大部分代碼已經存在於CCTextureCache中,我相信甚至可能只是您需要的方法,只需要在界面中公開即可。

+0

很好理解..謝謝..我也想知道如何檢查圖像是否已經添加到緩存? – user123 2013-03-15 00:25:27

+0

call textureForKey:如果它返回nil,則不會緩存此紋理 – LearnCocos2D 2013-03-15 08:35:22