我实现了这个声音,但它也在我的其他层

时间:2012-06-29 11:11:05

标签: iphone ios5 audio cocos2d-iphone

切换按钮出现在我的所有其他图层中,我想知道是否有办法只显示在某个图层中。

.h文件

 UISwitch *muteSwitch; 

.m文件

     muteSwitch = [[ UISwitch alloc ] initWithFrame: CGRectMake(0, 290, 0, 0) ];
       muteSwitch.on = YES;
    [muteSwitch addTarget:self action:@selector(soundOnOrOff:)   forControlEvents:UIControlEventValueChanged];
    [[[CCDirector sharedDirector] openGLView] addSubview:muteSwitch];
    [muteSwitch release];            





  - (void)soundOnOrOff:(id)sender
  {

     if ([[SimpleAudioEngine sharedEngine] mute]) {
    // This will unmute the sound
    [[SimpleAudioEngine sharedEngine] setMute:0];
    }
else {
    //This will mute the sound
    [[SimpleAudioEngine sharedEngine] setMute:1];
}

     }

1 个答案:

答案 0 :(得分:1)

这很正常,因为您在GLView的顶部添加了滑块。因此,即使您更改场景,滑块也会保留在此处。 如果您想删除它,则只需在更改场景时调用[muteSwitch removeFromSuperview]

我应该使用CCControlExtension中的CCControlSwitch,因为它是使用Cocos2D构建的,它可以像任何其他Cocos2D组件一样工作。此外,您可以根据需要自定义它。