2011-08-02 162 views
2

我有2個問題我怎樣才能解決mPeakPower問題

1)當我運行的代碼,它會給我EXC_BAD_ACCESS在這一行

Float32 peak = levels[0].mPeakPower; 

2)當我運行一個動畫,它會給我這個錯誤和之後,應用程序崩潰:

cocos2d: CCTexture2D. Can't create Texture. `UIImage` is nil 
2011-08-02 12:38:14.921 AnimBear[596:207] cocos2d: Couldn't add 
image:face.plist in CCTextureCache 

我該如何解決這個問題?

+0

2)請張貼一些代碼,並確保正確的圖像,我認爲1)可能與由於2 nil引用? – Goles

+0

[listenerNew pause]; \t [listenerNew listen]; //快。 \t \t //或者當我們沒有聽一段時間時釋放資源。 \t [listenerNew stop]; \t [listenerNew listen]; // 比較慢。 \t AudioQueueLevelMeterState * levels = [listenerNew levels]; \t Float32 peak = levels [0] .mPeakPower; – user874090

+0

http://www.raywenderlich.com/熊編碼 – user874090

回答

2

您的水平數組可能爲零或爲空(對項目0的訪問導致異常)。您可以在該行之前記錄[levels count]以確認數組的長度。

NSLog(@"Levels count: %d", [levels count]); 

對於問題的第二部分,face.plist不是圖像。通常加載使用紋理緩存精靈的樣子:

CCTexture2D *texture = [[CCTextureCache sharedTextureCache] addImage:imageName]; 
CCSprite *sprite = [CCSprite spriteWithTexture:texture]; 
相關問題