кнопка включения в cocos2d - PullRequest
2 голосов
/ 28 марта 2012

Я ищу пример реализации UISwitch, но без использования UIView я бы хотел использовать его для включения / выключения звука или музыки в моей игре. Уже нашел что то но не то что хочу. например Создание кнопки с помощью CCMenuItemToggle в cocos2d или в этом примере

Кто-нибудь знает, как это сделать?

1 Ответ

4 голосов
/ 29 марта 2012

Добавьте UISwitch в заголовочный файл любого используемого вами слоя,

opionsLayer.h

UISwitch *muteSwitch;

, затем внедрите его в свой метод init в .m вашего слоя

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

затем добавьте функцию обратного вызова в .m, но не в методе init,

- (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];
    }

}

при условии, что вы используете здесь простой аудио-движок, поэтому вам придется импортировать SimpleAudioEngine в шапке тоже.

...