(NO.00004)iOS实现打砖块游戏(十五):导弹发射道具的实现(上)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.
如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;)
上一篇中我们实现了3球道具,但是好像还是不过瘾,如果能让反弹棒更具”攻击性”就好了,那么本篇中我们就让它发射导弹直接击毁砖块吧!
导弹道具的功能
我们要实现如下功能:
- 反弹棒接触到导弹道具星后”长出”一根炮管
- 该炮管定时向前方发射导弹
- 导弹碰到砖块则将其击毁,否则飞出屏幕自动销毁
- 一定时间后炮管消失,导弹发射也随之停止
让棒棒上长出一根炮管有很多种方法,因为反弹棒有不同的形态(长的,短的和普通的),所以要考虑到不同长度下的炮管行为.
我们不管什么长度的反弹棒都让其能发射炮弹.这样的话就得建立3根带炮管的新反弹棒,相当麻烦.不如不管当前是什么长度的反弹棒,只在其中间位置创建炮管就好了.
所以我们只需要创建2种新素材:炮管和导弹.
创建素材
使用Ai创建一根类似炮管的东东,然后导出为png图片,如下:
接着是制作导弹,因为我们想导弹有一个飞行的动画,所以需要制作至少2张图片,类似以下图片:
一张尾巴带有火焰,这样两张图片形成导弹飞行的动画.
将3张新建的图片拖入SpriteBuilder中:
在SpriteBuilder中创建导弹精灵
因为炮管是即时创建的,而且没有变化,所以我们直接在代码中创建.在SpriteBuilder中我们只需要创建好导弹精灵,并且制作飞行的动画.
在SpriteBuilder中新建Bullet.ccb文件,类型为Sprite.用之前创作的2张图片在Timeline中形成动画效果:
至于怎么制作动画,前面几个系列的博文讲的很清楚了,如果不清楚的话,可以看看之前的博文,或是直接问我.
接下来开启其物理对象,物理边界不需要非常吻合,只要保证头部和导弹头部吻合即可:
在这里值得注意的的是,我们不需要给导弹设置一个自定义的类,因为只是仅仅把它当做一个精灵来用,没有其他的扩展,所以保持这样就挺好 ;)
下一篇中,我们就来实现导弹道具对应的代码,本来想放在一篇的,但发现太长了.
所以下篇见吧 ;)
(NO.00004)iOS实现打砖块游戏(十五):导弹发射道具的实现(上)的更多相关文章
- (NO.00004)iOS实现打砖块游戏(十六):导弹发射道具的实现(下)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 上一篇我们完成了导弹道具相关的道具制作,本篇中我们来完成其实现 ...
- (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 通用的星星类已经完成了,下面我们来实现具体的变长和缩短道具. 变 ...
- (NO.00004)iOS实现打砖块游戏(十四):3球道具的实现
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 反弹棒变化道具实现前面已经介绍过了,我们下面可以在小球上做些文章 ...
- (NO.00004)iOS实现打砖块游戏(十):砖块!更多的砖块!
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 到目前为止游戏基本可玩,但是砖块数量是不变的,等玩家打光所有的砖 ...
- webug第十五关:什么?图片上传不了?
第十五关:什么?图片上传不了? 直接上传php一句话失败,将content type改为图片 成功
- (NO.00004)iOS实现打砖块游戏(五):游戏场景类
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 创建游戏场景类头文件 在Xcode创建新GameScene类,继 ...
- 从零开始学ios开发(十五):Navigation Controllers and Table Views(中)
这篇内容我们继续上一篇的例子接着做下去,为其再添加3个table view的例子,有了之前的基础,学习下面的例子会变得很简单,很多东西都是举一反三,稍稍有些不同的内容,好了,闲话少说,开始这次的学习. ...
- (NO.00004)iOS实现打砖块游戏(六):反弹棒类
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 打砖块游戏另一个要素是反弹棒,我们在这篇类来实现反弹棒类. 创建 ...
- (NO.00004)iOS实现打砖块游戏(一):素材的制作
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 本系列来实现一个儿时就很喜欢的打砖块游戏,我记得以前红白机上有一 ...
随机推荐
- bzoj4361isn dp+容斥
4361: isn Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 370 Solved: 182[Submit][Status][Discuss] ...
- Unix系统的文件目录项的内容是什么,这样处理的好处是什么?
(Unix系统采用树型目录结构,而且目录中带有交叉勾链.每个目录表称为一个目录文件.一个目录文件是由目录项组成的.) 每个目录项包含16个字节,一个辅存磁盘块(512B)包含32个目录项.在目录项中, ...
- widows下的进程与服务
进程: 当程序卡死的时候,我们可以直接通过任务管理器来关闭进程. 服务: 在这个界面,我们可以选择启动或者关闭相关服务,还可以选择服务是否自动启动. 以关闭MySQL自启动服务为例:https://j ...
- linux最常用的基本命令
//**********************对应linux centos常用命令 **************************/// 安装centos6.6带有gnome桌面 ctrl+c ...
- Serpent.AI – 游戏代理框架(Python)
Serpent.AI - 游戏代理框架(Python) Serpent.AI是一个简单而强大的新颖框架,可帮助开发人员创建游戏代理.将您拥有的任何视频游戏变成一个成熟的实验的沙箱环境,所有这些都是熟悉 ...
- python2.7入门---简介&基础语法
Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言,具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构.基于上述原因, ...
- MySQL使用判断
1.case语法 在第一个方案的返回结果中, value=compare-value.而第二个方案的返回结果是第一种情况的真实结果.如果没有匹配的结果值,则返回结果为ELSE后的结果,如果没有ELSE ...
- js变量的一点认识
js中变量包含两种不同数据类型的值,基本类型值(简单的数据段)和引用类型值(可能由多个值组成的对象).那么他们在保存方式和复制变量值是上有什么不同呢? 一.保存 只能给引用类型的值动态添加属性,不能给 ...
- nginx的yum安装,基本参数使用,编译参数说明和Nginx基本配置,模块安装
nginx的yum安装从nginx官网获取源 vim /etc/yum.repose.d/nginx.repo[nginx]name=nginx repobaseurl=http://nginx.or ...
- Python学习---字符串处理
This world is but a canvas to our imagination. 世界只是我们的想象的画布. ----Apri 22 ''' 题目内容: "Pig Latin&q ...