私のアプリには、オプションページがあります。変更できるものは3つあります。反転コントロール用のスイッチ(シューティングゲームです)、エフェクトレベル用のボリュームスライダー、音楽レベル用のボリュームスライダーです。私はいくつかのことで助けが必要です。私はObjectiveCを初めて使用し(3週間)、NSUserDefaultsの保存についてサポートが必要です。ボリュームスライダーのコードはありますが、機能していません。私はまた、スイッチについて何をすべきかについての手がかりを持っていません。ゲームの後半でもこのデータを確認する必要があります。これが私が試したコードですOPTIONS.m
-(IBAction)musicVolumeChanged {
NSUserDefaults *userPreferences = [NSUserDefaults standardUserDefaults];
NSString *musicVolume = musicVolumeSlider.value;
//theAudio.volume = musicVolume;
[userPreferences setObject:musicVolume forKey:@"musicVolume"];
}
-(IBAction)effectsVolumeChanged {
NSUserDefaults *userPreferences = [NSUserDefaults standardUserDefaults];
NSString *effectsVolume = effectsVolumeSlider.value;
//theAudio.volume = effectsVolume;
[userPreferences setObject:effectsVolume forKey:@"effectsVolume"];
}
そして、ゲーム中に値にアクセスするために、私は持っています:Igunner.m
NSString *effects_Volume = [[NSUserDefaults standardUserDefaults]
stringForKey:@"effectsVolume"];
theAudio.volume = effects_Volume;
[theAudio play];
そして、私が持っている音楽のボリュームについては:
NSString *music_Volume = [[NSUserDefaults standardUserDefaults]
stringForKey:@"musicVolume"];
theAudio.volume = music_Volume;
[theAudio play];
上記の各サンプルコードに1つのエラーがあります。NSUserDefaultsに値を割り当てると、文字列にスライダー値を割り当てるときにエラーが発生します。「初期化の互換性のない型」、および値を取得するために「setVolumeの引数1の互換性のない型」というエラーが発生します。
私が間違っていることを教えてください。ご存知の場合は、スイッチの状態が保存および取得されるのを手伝ってください。