2011-08-02 121 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]; 
相关问题