回到Xcode,新建Level1类,继承于CCNode.
打开Level1.m在初始化方法中添加如下方法:
-(void)didLoadFromCCB{
[self initBasket];
[self initRestrict];
}
下面分别实现其中2个方法.
首先是initBasket:
-(void)initBasket{
CCActionMoveBy *mov1 = [CCActionMoveBy actionWithDuration:5 position:ccp(0, -0.7)];
CCActionMoveBy *mov2 = [CCActionMoveBy actionWithDuration:5 position:ccp(0, 0.7)];
CCActionSequence *seq = [CCActionSequence actions:mov1,mov2,nil];
CCActionRepeatForever *repeat = [CCActionRepeatForever actionWithAction:seq];
[_basket runAction:repeat];
}
很简单,就是用Action移动篮筐,并保持动作永远循环.
下面是后面的Restrict方法:
-(void)initRestrict{
LevelRestrict *lr = [LevelRestrict sharedInstance];
lr.bulletCount = 10;
lr.timeCount = 60;
lr.scoreCount = 3;
}
每一关都有特定的过关条件,类LevelRestrict就是用来保存过条件的类,其中的bulletCount,timeCount和scoreCount分别表示该Level的子弹限制,时间限制以及分数限制.
在Xcode中新建LevelRestrict类,继承于NSObject,修改LevelRestrict.h如下:
#import <Foundation/Foundation.h>
@interface LevelRestrict : NSObject
@property (nonatomic,assign) NSInteger bulletCount;
@property (nonatomic,assign) NSInteger timeCount;
@property (nonatomic,assign) NSInteger scoreCount;
@property (nonatomic,strong) NSString *levelName;
+(instancetype)sharedInstance;
-(void)print;
打开LevelRestrict.m,实现单例方法:
+(instancetype)sharedInstance{
static LevelRestrict *sharedLevelRestrict;
if (!sharedLevelRestrict) {
sharedLevelRestrict = [LevelRestrict new];
}
return sharedLevelRestrict;
}