(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 ;) 本系列来实现一个儿时就很喜欢的打砖块游戏,我记得以前红白机上有一 ...
随机推荐
- qemu 模拟-arm-mini2440开发板-启动u-boot,kernel和nfs文件系统【转】
转自:http://www.cnblogs.com/riskyer/p/3366001.html qemu 本文介绍了如何编译u-boot.linux kernel,然后用qemu启动u-boot和l ...
- 如何彻底删除mysql
MySQL的卸载确实很让人头疼,很多时候都无法彻底卸载干净,这样会导致我们无法重新安装新的MySQL. 下面介绍,在Windows10系统下,如何彻底删除卸载MySQL... 1>停止MySQL ...
- sssp-springmvc+spring+spring-data-jpa增删改查
环境:IDE:eclipse.jdk1.7.mysql5.7.maven 项目结构图 上面目录结构你可以自己创建 搭建框架 首先加入maven依赖包以及相关插件 <dependencies> ...
- java读取mysql表的注释及字段注释
/** * 读取mysql某数据库下表的注释信息 * * @author xxx */ public class MySQLTableComment { public static Connectio ...
- String String Buffer String Builder
如题,在java中这是一个典型的问题. 在stackoverflow上已经有很多相似的问题被提问,并且有很多不正确或不完整的答案.如果你不往深处想,这是一个很简单的问题.但如果深入思考,它却很让人迷惑 ...
- Linux服务器之间免密登录设置
说明: A为linux服务器a B为linux服务器b 每台linux都有ssh的服务端和客户端,linux下的ssh命令就是一个客户端 我们常用ssh协议来进行登陆或者是文件的拷贝,都需要密码 A要 ...
- PyCharm 2018.1破解过程
一.下载 首先从官网下载 官网,如果开了酸酸乳的话无法下载,官网会自动断开连接.所以下载时请关闭酸酸乳 二.安装 选择安装路径 选择64位,创建关联.py文件 安装完后运行Pycharm 选择不导入开 ...
- Go 语言切片(Slice)
Go 语言切片是对数组的抽象. Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固 ...
- Tomcat中的c3p0数据库连接池的释放
一个项目通过c3p0获得连接池,相关代码如下: public class JdbcUtil { // 连接池的核心类 private static ComboPooledDataSource data ...
- eclipse安装和中文汉化,以及配置
官网下载 eclipse http://www.eclipse.org/downloads/eclipse-packages/ ----选择 "Eclipse IDE for Java De ...