(NO.00003)iOS游戏简单的机器人投射游戏成形记(二十一)
来源:互联网 发布:淘宝淘客怎么推广 编辑:程序博客网 时间:2024/06/05 01:01
回到Xcode中,在MainScene.h接口中添加碰撞协议:
@interface MainScene : CCNode <CCPhysicsCollisionDelegate>//...@end
然后在MainScene.m初始化方法中打开碰撞代理:
_physicWorld = (CCPhysicsNode*)[self getChildByName:@"physicWorld" recursively:YES]; NSAssert(_physicWorld, @"physicWorld must not nil"); _physicWorld.collisionDelegate = self;
因为我们要处理的是子弹和传感器的碰撞,所以需要添加对应的碰撞回调方法:
-(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将开发一个类似于弹球打砖块的游戏,到时候见 ;)
0 0
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(二十一)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(十一)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(二)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(二十)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(一)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(三)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(四)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(五)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(六)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(七)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(八)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(九)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(十)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(十二)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(十三)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(十四)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(十五)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(十六)
- Android安全专项测试之Dex2jar
- Android线程间通信(二):MessageQueue(中)
- oracle查看被锁的表和被锁的进程以及杀掉这个进程
- C#编扫雷源码 一2008年03月23日
- 9.php 数组知识,date,文件upload
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(二十一)
- 设计模式 单例模式
- Zabbix监控工具
- maven 依赖介绍
- #你好Unity3D#手机上的路径(来自我的长微博)
- centos 安装 apt-get
- MPU6050 STM32 DMP包移植
- selenium+python+webdriver自动化测试之环境搭建
- storm调优