(NO.00004)iOS实现打砖块游戏(六):反弹棒类

时间:2023-08-05 17:28:28

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.

如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;)


打砖块游戏另一个要素是反弹棒,我们在这篇类来实现反弹棒类.

创建反弹棒类头文件

在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;
}

因为反弹棒的物理对象类型为混合体(既不是动态也不是静态),所以我们可以按我们的需求手动*移动它.

下一篇我们来实现一个相当关键的类:关卡类. 下篇见 ;)