(NO.00003)iOS遊戲簡單的機器人投射遊戲成形記(十二)
回到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 @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;}