打磚塊游戲另一個要素是反彈棒,我們在這篇類來實現反彈棒類.
在Xcode中新建Stick類,在頭文件中添加如下內容:
#import CCSprite.h
@interface Stick : CCSprite
+(instancetype)stickNormal;
-(void)moveStickTo:(CGPoint)location;
@end
後面後使反彈棒變長或縮短的道具,所以這裡先添加了一個創建正常反彈棒的方法.最後添加了一個移動反彈棒的方法.
反彈棒類實現很簡單,我們按照頭文件的定義來實現以上2個方法:
+(instancetype)stickNormal{
Stick *stick = (Stick*)[CCBReader load:@Elements/Stick];
stick.name = @stick;
return stick;
}
-(void)moveStickTo:(CGPoint)location{
CGPoint orgPos = self.position;
location.y = orgPos.y;
//將反彈棒的移動限制在屏幕中
if (location.x < 0) {
location.x = 0;
}else if (location.x > _viewSize.width){
location.x = _viewSize.width;
}
self.position = location;
}
因為反彈棒的物理對象類型為混合體(既不是動態也不是靜態),所以我們可以按我們的需求手動自由移動它.