切换按钮出现在我的所有其他图层中,我想知道是否有办法只显示在某个图层中。
.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];
}
}
答案 0 :(得分:1)
这很正常,因为您在GLView的顶部添加了滑块。因此,即使您更改场景,滑块也会保留在此处。
如果您想删除它,则只需在更改场景时调用[muteSwitch removeFromSuperview]
。
我应该使用CCControlExtension中的CCControlSwitch,因为它是使用Cocos2D构建的,它可以像任何其他Cocos2D组件一样工作。此外,您可以根据需要自定义它。