iPhoneゲームを作成していて、レベルデータがハードコードされていますが、レベルデータをplistに保存したいのですがそれは打ち上げ時。私はplistsを使用したことがなく、私のデータモデルに基づいてどのようにplistを設定すべきかを理解するのに問題があります。iPhoneゲームのアプリケーションデータ(設定ではない)を格納するplistの設定
(私のappDelegateに)
- (void)loadLevels {
//setup NSNumber objects to load into sequences
NSNumber * rID = [[[NSNumber alloc] initWithInt:0] autorelease];
NSNumber * bID = [[[NSNumber alloc] initWithInt:1] autorelease];
NSNumber * gID = [[[NSNumber alloc] initWithInt:2] autorelease];
NSNumber * yID = [[[NSNumber alloc] initWithInt:3] autorelease];
NSNumber * rbID = [[[NSNumber alloc] initWithInt:4] autorelease];
NSNumber * rgID = [[[NSNumber alloc] initWithInt:5] autorelease];
NSNumber * ryID = [[[NSNumber alloc] initWithInt:6] autorelease];
NSNumber * bgID = [[[NSNumber alloc] initWithInt:7] autorelease];
NSNumber * byID = [[[NSNumber alloc] initWithInt:8] autorelease];
NSNumber * gyID = [[[NSNumber alloc] initWithInt:9] autorelease];
//Level One's Sequence
NSMutableArray * aSequence = [[[NSMutableArray alloc] initWithCapacity:1] autorelease];
[aSequence addObject: rID];
[aSequence addObject: bID];
[aSequence addObject: gID];
[aSequence addObject: yID];
[aSequence addObject: rbID];
[aSequence addObject: rgID];
[aSequence addObject: ryID];
[aSequence addObject: bgID];
[aSequence addObject: byID];
[aSequence addObject: gyID];
// Load level One
_levels = [[[NSMutableArray alloc] init] autorelease];
Level *level1 = [[[Level alloc] initWithLevelNum:1 levelSpeed:1.0 levelSequence:aSequence] autorelease];
[_levels addObject:level1];
//do the same thing for subsequent levels//
}
が
#import "Level.h"
@implementation Level
@synthesize levelNum = _levelNum;
@synthesize levelSpeed = _levelSpeed;
@synthesize levelSequence = _levelSequence;
- (id)initWithLevelNum:(int)levelNum levelSpeed:(float)levelSpeed levelSequence:(NSMutableArray *)levelSequence {
if ((self = [super init])) {
self.levelNum = levelNum;
self.levelSpeed = levelSpeed;
self.levelSequence = [[[NSMutableArray alloc] initWithArray:levelSequence] autorelease];
}
return self;
}
- (void)dealloc {
[_levelSequence release];
_levelSequence = nil;
[super dealloc];
}
@end
I」は(これは私が私のレベルのクラスが実装している方法です):ここでは
は、私はそれが難しい今コーディングされてきた方法です私のモデルと一致するようにデータを保存するためのplistの設定方法を知りません。誰か私に助言をお願いしますか?
追加: (ここで、私はplistをセットアップする必要があると思います - データモデルは単に私のレベルを初期化する3つの変数です(上記)。セットアップは、しかし各レベルはで構成されています。レベル番号、レベルのスピード、そしてそのレベルに必要な順序を表す数値の配列)
さて、私は正確にどのようにこのセットアップを持っている場合プログラムに値をロードするのですか?
あなたのモデルは何ですか?ここに私たちを見せてはいけません。 –
@Jonathan Grynspan私は自分のデータに関するより詳細な質問を更新しました。これが私が何をしようとしているのか理解するのに役立ちます。 – Mark7777G