すぐに 2 回バグって申し訳ありませんが、人々は有益な回答でとても親切だったので、別の質問をしても害はないと思いました.
同じプログラムをかなりしゃれたものにして、限られたオプション画面につながるボタンをクリックできるメイン画面を持たせようとしました。これにより、音楽のオンとオフを切り替えることができます。または、少なくともそうすべきです。
音楽を実行するコードは、メイン ファイル (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 フレームワークです。基本的に、設定ファイルには、使用しようとしているクラス メソッドが含まれています。メソッドが YES の場合、音楽はオンになっています。いいえの場合、音楽はオフになっています。
settings.m
static BOOL isMusicEnabled;
@implementation Settings
+ (BOOL)musicEnabled
{
return isMusicEnabled;
}
+ (void)setMusicEnabled:(BOOL)value
{
isMusicEnabled = value;
NSLog(@"SME? %i", isMusicEnabled);
}
@end
現在、オプション ファイルは機能しており、そのセクションをテストしました。プログラムは isMusicEnabled が新しい値を取得していることを読み取っているため、musicEnabled も変更されているため、変更が必要であり、音楽をオフにする必要があります。
しかし、何も起こりません。デバッガーを使用しようとしましたが、あまり得意ではなく、与えられた情報の多くを理解していません。問題が設定ファイルからメイン/ゲームファイルにメッセージを送信していることを理解しています.
これをどのように解決できるかについて私を啓発できる人の助けに感謝します。