http://www.cnblogs.com/zilongshanren/archive/2011/07/10/2102401.html
对于DataModel类,只要是对NSMutableArray熟悉的人都会觉得很简单,让我们直接看看代码吧:
#import "cocos2d.h"
@interface DataModel : NSObject {
CCLayer *_gameLayer;
NSMutableArray *_targets;
NSMutableArray *_waypoints;
NSMutableArray *_waves;
UIPanGestureRecognizer *_gestureRecognizer;
}
@property (nonatomic, retain) CCLayer *_gameLayer;
@property (nonatomic, retain) NSMutableArray * _targets;
@property (nonatomic, retain) NSMutableArray * _waypoints;
@property (nonatomic, retain) NSMutableArray * _waves;
@property (nonatomic, retain) UIPanGestureRecognizer *_gestureRecognizer;;
+ (DataModel*)getModel;
@end
@interface DataModel : NSObject {
CCLayer *_gameLayer;
NSMutableArray *_targets;
NSMutableArray *_waypoints;
NSMutableArray *_waves;
UIPanGestureRecognizer *_gestureRecognizer;
}
@property (nonatomic, retain) CCLayer *_gameLayer;
@property (nonatomic, retain) NSMutableArray * _targets;
@property (nonatomic, retain) NSMutableArray * _waypoints;
@property (nonatomic, retain) NSMutableArray * _waves;
@property (nonatomic, retain) UIPanGestureRecognizer *_gestureRecognizer;;
+ (DataModel*)getModel;
@end
所以,这里大部分代码都是很直白的。DataModel是一个单例的类,符合NSCoding协议。我们这样做有两个原因:其一,我们这样做的目的是用来保存之后游戏的状态,其二,我们把它做成单例是因为整个游戏中,我们只想让一个DataModel对象存在。我们可以从任何类中访问DataModel,只需要包含相应的头文件,然后调用下面的方法就行了:
DataModel *m = ;
下面是单例的具体实现: