Variables 在属性列表文件Cocos2d中存储变量
我正在编写一个cocos2d游戏,在大多数游戏中,你必须完成上一关才能进入下一关。每个级别位于不同的层(节点)中。我想将整数(1-20)存储到属性列表中,以便在整个游戏中保留变量。是的,我在网上搜索了大约一个小时,什么也找不到 我找到了一个存储变量的代码,但我不知道如何正确使用它Variables 在属性列表文件Cocos2d中存储变量,variables,cocos2d-iphone,plist,store,retain,Variables,Cocos2d Iphone,Plist,Store,Retain,我正在编写一个cocos2d游戏,在大多数游戏中,你必须完成上一关才能进入下一关。每个级别位于不同的层(节点)中。我想将整数(1-20)存储到属性列表中,以便在整个游戏中保留变量。是的,我在网上搜索了大约一个小时,什么也找不到 我找到了一个存储变量的代码,但我不知道如何正确使用它 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSStri
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentPath = [paths objectAtIndex:0];
NSString *path = [documentPath stringByAppendingPathComponent:@"levelscompleted.save"];
NSMutableDictionary* myDict = [[NSMutableDictionary alloc] init];
myDict = [NSKeyedUnarchiver unarchiveObjectWithFile:path];
NSString *nssLevelsCompleted = [myDict objectForKey:@"LevelsCompleted"];
LevelsCompleted = [nssLevelsCompleted intValue];
LevelsCompleted = 445;
[myDict setObject:nssLevelsCompleted forKey:@"LevelsCompleted"];
[NSKeyedArchiver archiveRootObject:myDict toFile:path];
下面是一些示例代码,以获得一些想法(使用ARC进行内存管理): 输出:
2012-01-29 16:24:30.844 plistTest[23531:f803] Achieved score for level 1: 999
看看这个,当我将变量保存在一个层中并尝试使用NSLog“NSLog”(@“Value:%@”,Value);”在日志中读取变量时,我的代码会不断返回(null);'它返回“(Value:null)”代码中有一个输入错误,当然字典必须这样初始化:NSMutableDictionary*plistDict=[[NSMutableDictionary alloc]init];尝试编辑的示例代码。现在它应该可以工作了。如果我想将writeToPlist中的值设置为NSString,我该怎么做?具有[plistDict setValue:FinalScore forKey:@“1级”和“高分数”];我有一个EXC\u坏访问。FinalScore是一个NSString。请看我编辑的答案,但实际上您应该投入一些自己的努力来解决这些问题。每次尝试访问已删除的变量时,都会发生EXC_BAD_访问。
2012-01-29 16:24:30.844 plistTest[23531:f803] Achieved score for level 1: 999