CCMenuItemToggle延迟...图像缓存?

时间:2011-03-17 16:29:12

标签: iphone cocos2d-iphone

我正在创建一个类似的CCMenuItemToggle:

CCMenuItemToggle *musicToggle = [CCMenuItemToggle itemWithTarget:self 
                                                           selector:@selector(MusicMute:) items:enableMusic, disableMusic, nil];

enableMusic和disableMusic是从图像创建的CCMenuItems:

CCMenuItem *enableMusic = [CCMenuItemImage itemFromNormalImage:@"musicbutton.png" 
                                                           selectedImage:@"musicbutton.png" target:nil selector:nil];

现在,我第一次点击切换按钮时,会有明显的延迟(我认为它正在加载下一个切换图像)。预加载此图像的最佳方法是什么,以免发生这种情况?一旦加载一次就会很快发生变化......

2 个答案:

答案 0 :(得分:1)

你可以尝试

    [[CCTextureCache sharedTextureCache] addImage:@"musicbutton.png"];

这会将图像预加载到textureCache

答案 1 :(得分:0)

事实证明瓶颈根本不是CCMenuItem ......它是动作本身发生的事情(SimpleAudioEngine第一次被初始化,需要一段时间)。问题解决了!