登录 立即注册
金钱:

Code4App-iOS开发-iOS 开源代码库-iOS代码实例搜索-iOS特效示例-iOS代码例子下载-Code4App.com

查看: 199|回复: 6

(NO.00003)iOS游戏简单的机器人投射游戏成形记(二十一)

[复制链接]

202

主题

202

帖子

1116

金钱

手工艺人

发表于 2018-1-11 11:43:22 | 显示全部楼层 |阅读模式

        

        回到Xcode中,在MainScene.h接口中添加碰撞协议:

[Java] 查看源文件 复制代码
#interface MainScene : CCNode 
//...
#end

        然后在MainScene.m初始化方法中打开碰撞代理:

[Java] 查看源文件 复制代码
_physicWorld = (CCPhysicsNode*)[self getChildByName:#physicWorld recursively:YES];
    NSAssert(_physicWorld, #physicWorld must not nil);
    _physicWorld.collisionDelegate = self;

        因为我们要处理的是子弹和传感器的碰撞,所以需要添加对应的碰撞回调方法:

[Java] 查看源文件 复制代码
-(BOOL)ccPhysicsCollisionBegin: (CCPhysicsCollisionPair *)pair bullet: (CCNode *)bullet sensor: (CCNode *)sensor{
    CCPhysicsBody *phyBullet = bullet.physicsBody;
    phyBullet.collisionType = #null;

    [self scheduleBlock:^(CCTimer *timer){
        bullet.visible = NO;
        bullet.position= ccp(0, 0);
    } delay:5];

    _score++;
    _scoreLabel.string = [NSString stringWithFormat:#Score:%d,_score];    
    return NO;
}

        首先取得子弹的物理对象,然后将碰撞类型改为#”null”;这是因为可能发生以下这种情况:

        子弹先进入篮框接触到感应器,但是可能会碰到篮框内壁从而向上反弹离开传感器,接着就下落碰到传感器,造成一颗子弹进入篮框多次计分.

        将其碰撞模型设为#”null”之后,该已经碰到传感器的子弹,不再会与传感器发生碰撞了.当然这只是一种解决办法.

        接下来我们等到5秒之后,将该子弹设为不可见,并将其从篮框中移出,一来不影响其它射入的子弹,二来可以重用该子弹.

        最后计分,并且更新Hud层中的分数标签.

        编译运行游戏,最后效果如下:

        

        其中略去了制作Hud层的步骤,经过前几篇的锻炼这个应该不再话下了.

        这个游戏到这里就暂时告一段落了,接下来的游戏NO.00004将开发一个类似于弹球打砖块的游戏,到时候见 ;)

        


                                               

21

主题

7219

帖子

2762

金钱

手工艺人

发表于 2018-1-11 11:54:07 | 显示全部楼层
学习...学习...

16

主题

7203

帖子

1630

金钱

手工艺人

发表于 2018-1-11 12:03:02 | 显示全部楼层
感谢大神分享,必须顶!

0

主题

7164

帖子

-535

金钱

限制会员

发表于 2018-1-11 12:16:27 | 显示全部楼层
不错不错,楼主辛苦了。。。

15

主题

7167

帖子

1798

金钱

手工艺人

发表于 2018-1-11 12:21:06 | 显示全部楼层
膜拜大神~

23

主题

7171

帖子

1047

金钱

iOS大神

Rank: 6Rank: 6

分享大神

发表于 2018-1-11 12:31:28 | 显示全部楼层
感谢分享,楼主V5~

21

主题

7187

帖子

2812

金钱

手工艺人

发表于 2018-1-11 12:52:25 | 显示全部楼层
感谢大神分享,必须顶!
*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

关闭

每日头条

通过邮件订阅最新 Code4App 信息
上一条 /4 下一条

广告投放| Github|申请友链|手机版|Code4App ( 粤ICP备15117877号-1 )

快速回复 返回顶部 返回列表