Извините, что ошибаюсь вдвое быстрее, но, поскольку люди были так добры в своих информативных ответах, я подумал, что задавать другой вопрос не повредит.
Та же программа, которую я пытался сделать довольно шикарной и иметь главный экран, который позволяет нажимать на кнопку, которая приводит к экрану с ограниченными возможностями. Это позволяет вам включать или выключать музыку. Или, по крайней мере, так должно быть.
Код запуска музыки находится в основном файле (game.m), под следующим:
//Music
[Settings setMusicEnabled:YES];
music = [SPSound soundWithContentsOfFile:@"music.caf"];
channel = [[music createChannel] retain];
channel.loop = YES;
channel.volume = 0.25;
if([Settings musicEnabled]){
[channel play];
}
Прошу прощения за странный формат, но это фреймворк Sparrow. в основном, файл настроек содержит методы класса, которые я пытаюсь использовать. Если методы вызывают ДА, музыка включена. Если это Нет, то музыка выключена.
settings.m
static BOOL isMusicEnabled;
@implementation Settings
+ (BOOL)musicEnabled
{
return isMusicEnabled;
}
+ (void)setMusicEnabled:(BOOL)value
{
isMusicEnabled = value;
NSLog(@"SME? %i", isMusicEnabled);
}
@end
Теперь файл опций работает, и я протестировал этот раздел. Программа читает, что isMusicEnabled получает новое значение, таким образом, musicEnabled также изменяется, поэтому должно быть изменение, и музыка должна быть выключена.
Однако ничего не происходит. Я пытался использовать отладчик, но я не очень хорош в этом, и я не понимаю много информации, которую мне дают. Я понимаю, что проблема заключается в отправке сообщения из файла настроек в основной файл / файл игры.
Я бы оценил помощь любого, кто мог бы просветить меня относительно того, как это можно решить.