如何使用kobold2d来做一个简单的iphone游戏教程(第六部分)
2011-12-30 18:10
841 查看
免责声明:本系列教程是根据该系列教程实践过程所作的自己使用kobold2D框架经历。仅供学习与交流使用,请勿进行商业传播,转载时不要移除本声明。如果产生任何纠纷均与博客所有者无关。欢迎转载。
作者:Rush.xzj
这篇主要完成如下2个功能
1.获取CCSprite所在的矩形区域
2.添加游戏的相关背景音乐
获取CCSprite所在的矩形区域
在上一篇文章中我们已经通过一个函数计算出Sprite矩形区域,可是Kobold2D(cocos2D)框架号称功能非常齐全的啊。不应该没有计算区域的办法,我们通过代码指导发现CCSprite如下2个函数可疑
在观看宏:CC_RECT_PIXELS_TO_POINTS
用如下的测试代码:
可以发现3个rect都是一样的,所以我们可以删除calculateRectWithCCSprite方法用boundingBoxInpixels或者boundingBox来替代
这样设计的原因? 通过看源码可以猜测:也许是因为本来是用boundingBoxInPixels,后来觉得这个名称命名不怎么好,但是又不能影响到以前写的代码,所以加了方法boundingBox。如果有人知道原因告诉我以下。
添加相关的背景音乐
整个游戏的背景音乐,发射子弹的声音,怪物被消灭的声音 资源地址(http://download.csdn.net/detail/xzjxylophone/3985658)
添加背景音乐,在init方法中:
发射子弹添加音乐,在ccTouchesEnded方法中
[player runAction:playSequence];代码后添加:
怪物被消灭后,在update方法中修改 if(isHit) 代码块:
到此为止,本篇教程就结束了。
该篇主要是介绍了添加声音和充分你利用Kobold2D库提供的方法。敬请期待下一篇文章!
作者:Rush.xzj
这篇主要完成如下2个功能
1.获取CCSprite所在的矩形区域
2.添加游戏的相关背景音乐
获取CCSprite所在的矩形区域
在上一篇文章中我们已经通过一个函数计算出Sprite矩形区域,可是Kobold2D(cocos2D)框架号称功能非常齐全的啊。不应该没有计算区域的办法,我们通过代码指导发现CCSprite如下2个函数可疑
- (CGRect) boundingBoxInPixels { CGRect rect = CGRectMake(0, 0, contentSizeInPixels_.width, contentSizeInPixels_.height); return CGRectApplyAffineTransform(rect, [self nodeToParentTransform]); }
- (CGRect) boundingBox { CGRect ret = [self boundingBoxInPixels]; return CC_RECT_PIXELS_TO_POINTS( ret ); }
在观看宏:CC_RECT_PIXELS_TO_POINTS
#define CC_RECT_PIXELS_TO_POINTS(__pixels__) __pixels__好吧,我姑且认为这2个函数是一样的(不知道为什么是这样设计的,如果有人有其他想说的可以回复我)
用如下的测试代码:
CGRect rect2 = [selectMonster boundingBox]; CGRect rect3 = [selectMonster boundingBoxInPixels]; CGRect selectMonsterRect = [self calculateRectWithCCSprite:selectMonster];
可以发现3个rect都是一样的,所以我们可以删除calculateRectWithCCSprite方法用boundingBoxInpixels或者boundingBox来替代
这样设计的原因? 通过看源码可以猜测:也许是因为本来是用boundingBoxInPixels,后来觉得这个名称命名不怎么好,但是又不能影响到以前写的代码,所以加了方法boundingBox。如果有人知道原因告诉我以下。
添加相关的背景音乐
整个游戏的背景音乐,发射子弹的声音,怪物被消灭的声音 资源地址(http://download.csdn.net/detail/xzjxylophone/3985658)
添加背景音乐,在init方法中:
[[SimpleAudioEngine sharedEngine] playEffect:@"background-music-aac.caf"];
发射子弹添加音乐,在ccTouchesEnded方法中
[player runAction:playSequence];代码后添加:
[[SimpleAudioEngine sharedEngine] playEffect:@"pew-pew-lei.caf"];
怪物被消灭后,在update方法中修改 if(isHit) 代码块:
if(isHit) { Monster *hitMonster = (Monster *)deleteMonster; hitMonster.curHp--; [deleteProjectiles addObject:selectProjectile]; if(hitMonster.curHp <= 0) { [self removeChild:deleteMonster cleanup:YES]; [monsters removeObject:deleteMonster]; [[SimpleAudioEngine sharedEngine] playEffect:@"explosion.caf"]; } else { //[[SimpleAudioEngine sharedEngine] playEffect:@"explosion1.caf"]; } }
到此为止,本篇教程就结束了。
该篇主要是介绍了添加声音和充分你利用Kobold2D库提供的方法。敬请期待下一篇文章!
相关文章推荐
- 如何使用kobold2d来做一个简单的iphone游戏教程(第二部分)
- 如何使用kobold2d来做一个简单的iphone游戏教程(第四部分)
- 如何使用kobold2d来做一个简单的iphone游戏教程(第七部分)
- 如何使用kobold2d来做一个简单的iphone游戏教程(第三部分)
- 如何使用kobold2d来做一个简单的iphone游戏教程(第八部分)
- 如何使用kobold2d来做一个简单的iphone游戏教程(第五部分)
- 如何使用kobold2d来做一个简单的iphone游戏教程(第一部分)
- 如何使用cocos2d来做一个简单的iphone游戏教程
- 19. 如何使用GameCenter制作一个简单的多人游戏教程:第二部分
- 如何使用cocos2d来做一个简单的iphone游戏教程(第一部分)
- 2-2.1-(译)如何使用cocos2d来做一个简单的iphone游戏教程(第一部分)
- (译)如何使用GameCenter制作一个简单的多人游戏教程:第一部分
- 如何使用cocos2d来做一个简单的iphone游戏教程(第一部分)
- (翻译)使用Cocos2D 2.X制作一个简单iPhone游戏教程——第1部分
- (译)如何使用cocos2d开发一个简单的iphone游戏:旋转炮塔。(第二部分)
- (译)如何使用cocos2d开发一个简单的iphone游戏:旋转炮塔。(第二部分)
- (译)如何使用cocos2d来做一个简单的iphone游戏教程(第一部分)
- (译)如何使用cocos2d来做一个简单的iphone游戏教程(第一部分)
- 如何使用cocos2d-x 3.0来做一个简单的iphone游戏教程(第一部分)
- 2.如何使用cocos2d来做一个简单的iphone游戏教程(第一部分)