码迷,mamicode.com
首页 > 移动开发 > 详细

(NO.00004)iOS实现打砖块游戏(十五):导弹发射道具的实现(上)

时间:2015-12-05 11:22:14      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.
如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;)


上一篇中我们实现了3球道具,但是好像还是不过瘾,如果能让反弹棒更具”攻击性”就好了,那么本篇中我们就让它发射导弹直接击毁砖块吧!

导弹道具的功能

我们要实现如下功能:

  • 反弹棒接触到导弹道具星后”长出”一根炮管
  • 该炮管定时向前方发射导弹
  • 导弹碰到砖块则将其击毁,否则飞出屏幕自动销毁
  • 一定时间后炮管消失,导弹发射也随之停止

让棒棒上长出一根炮管有很多种方法,因为反弹棒有不同的形态(长的,短的和普通的),所以要考虑到不同长度下的炮管行为.

我们不管什么长度的反弹棒都让其能发射炮弹.这样的话就得建立3根带炮管的新反弹棒,相当麻烦.不如不管当前是什么长度的反弹棒,只在其中间位置创建炮管就好了.

所以我们只需要创建2种新素材:炮管和导弹.

创建素材

使用Ai创建一根类似炮管的东东,然后导出为png图片,如下:

技术分享

接着是制作导弹,因为我们想导弹有一个飞行的动画,所以需要制作至少2张图片,类似以下图片:

技术分享

一张尾巴带有火焰,这样两张图片形成导弹飞行的动画.

将3张新建的图片拖入SpriteBuilder中:

技术分享

在SpriteBuilder中创建导弹精灵

因为炮管是即时创建的,而且没有变化,所以我们直接在代码中创建.在SpriteBuilder中我们只需要创建好导弹精灵,并且制作飞行的动画.

在SpriteBuilder中新建Bullet.ccb文件,类型为Sprite.用之前创作的2张图片在Timeline中形成动画效果:

技术分享

至于怎么制作动画,前面几个系列的博文讲的很清楚了,如果不清楚的话,可以看看之前的博文,或是直接问我.

接下来开启其物理对象,物理边界不需要非常吻合,只要保证头部和导弹头部吻合即可:

技术分享

在这里值得注意的的是,我们不需要给导弹设置一个自定义的类,因为只是仅仅把它当做一个精灵来用,没有其他的扩展,所以保持这样就挺好 ;)

下一篇中,我们就来实现导弹道具对应的代码,本来想放在一篇的,但发现太长了.

所以下篇见吧 ;)

(NO.00004)iOS实现打砖块游戏(十五):导弹发射道具的实现(上)

标签:

原文地址:http://blog.csdn.net/mydo/article/details/50180407

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!