Swift语言实战晋级-第9章 游戏实战-跑酷熊猫-1
学习目标
一、进一步学习Swift的游戏制作
二、掌握SKNode,SKSpriteNode的运用
三、了解SpriteKit的物理系统
四、掌握动作(SKAction)的运用
在这一章,我们要通过制作跑酷熊猫这个游戏来进一步学习Swift的游戏开发。首先我们要知道自己将要编写的是一个什么样的游戏。先来看一下游戏截图。

跑酷熊猫是一个跑酷类的游戏。我们将操控熊猫这个胖纸施展轻功,在或长或短的平台上飞奔,同时还要收集小苹果。跑的越远,收集的苹果越多,成就越高。不小心掉落平台,游戏就失败。那么做这样一个游戏,我们脑中要有一个概念,我们该按照什么样的顺序完成它。我们经过分析将之形成一个清单,如下:
l 我们要做一个能跑能跳能滚的熊猫
l 我们要产生源源不断的平台,以便熊猫能在上面飞奔
l 我们要制作视差移动的背景,让游戏看上去更为真实
l 我们要产生很多小苹果,让熊猫去收集
l 我们需要记录熊猫跑了多长距离,收集了多少个苹果
l 我们要给游戏增加难度,让熊猫跑动的速度越来越快
l 我们要给游戏增加些亮点让熊猫起跳和滚动的时候有个尘土飞扬的效果
l 我们要制作不同类型的平台,让它或掉落,或上下移动,增加游戏的趣味性
l 我们要给游戏配上背景音乐和一些音效
l 最后,我们还要判断游戏的失败,然后重置,开始新的游戏
当我们完成这个清单之后,我们对游戏就有了一个整体的把握,就能够有条理有目的的去编写跑酷熊猫这个游戏。
1 创建游戏工程以及导入素材
首先我们打开Xcode,选择Create a new Xcode project 新建一个Xcode项目。

接着依次选择IOS下的Applicationi,Game,Next

然后输入项目名称panda,Language选择Swift,GameTechnology选择SpriteKit,Devices选择Iphone,完成后点击Next按钮

然后选取一个目录点击Create就完成了游戏项目的创建

最后因为这个游戏是横屏的,所以我们要进行一些设置。点击右上角的panda项目,在General选项卡中的Deployment Info 下面的Dviceorientation中将Portrait去掉,将Landscape Left勾上。如图

这样我们就完成项目的创建。
然后我们要将必要的游戏素材导入到工程中,我们要导入的素材有熊猫的序列帧动画,背景,平台,小苹果图片以及背景音乐和音效文件。导入的工程很简单,直接用鼠标选择资源文件的文件夹,然后拖入工程中即可
我的微信公众号

我写的破书:《Swift语言实战晋级》http://item.jd.com/11641501.html
Swift语言实战晋级-第9章 游戏实战-跑酷熊猫-1的更多相关文章
- swift语言实战晋级-第9章 游戏实战-跑酷熊猫-9-10 移除平台与视差滚动
9.9 移除场景之外的平台 用为平台是源源不断的产生的,如果不注意销毁,平台就将越积越多,虽然在游戏场景中看不到.几十个还看不出问题,那几万个呢?几百万个呢? 所以我们来看看怎么移除平台,那什么样的平 ...
- swift语言实战晋级-第9章 游戏实战-跑酷熊猫-7-8 移动平台的算法
在上个小节,我们完成了平台的产生.那么我们来实现一下让平台移动.平台的移动,我们只需要在平台工厂类中写好移动的方法,然后在GameScene类中统一控制就行了. 在GameScene类中,有个upda ...
- Swift语言实战晋级-第9章 游戏实战-跑酷熊猫-5-6 踩踏平台是怎么炼成的
在游戏中,有很多分来飞去的平台,这个平台长短不一.如果每种长度都去创建一张图片那是比较繁琐的事情.实际上,我们只用到3张图.分别是平台的,平台的中间部分,平台的右边.关键是平台的中间部分,两张中间部分 ...
- Swift语言实战晋级-第9章 游戏实战-跑酷熊猫-2 创建熊猫类
当我们创建好项目文件后我们就可以开始一步一步的按照我们之前列入的清单来编写我们的游戏.现在就让我们来创建一个熊猫这个类Panda.swift.我们将采取分解的方式,一步一步的完成Panda.swift ...
- Swift语言实战晋级-第9章 游戏实战-跑酷熊猫-4 熊猫的跳和打滚
之前我们学会了跑的动作,现在我们可以利用同样的方法来实现了跳和打滚的动画. …… class Panda : SKSpriteNode { …… //跳的纹理集合 let jumpAtlas = SK ...
- Swift语言实战晋级-第9章 游戏实战-跑酷熊猫-3 显示一个动态的熊猫
一个静态的熊猫明显不能满足我们的欲望,接下来我们就让熊猫跑起来.序列帧动画的原理就是不停的切换不同的图片.当我们将一张一张的切换Panda类的跑动文理后,熊猫就跑起来了.那么首先我们需要一个数组常量来 ...
- 第七模块:项目实战一 第1章 项目实战:CRM客户关系管理系统开发
01-crm介绍 02-权限系统介绍 03-第一版表结构设计 04-第二版表结构设计 05-orm中创建表结构 06-销售管理系统业务 07-销售管理系统权限信息录入 08-快速实现简单的权限控制的设 ...
- Swift语言实战晋级
Swift语言实战晋级基本信息作者: 老镇 丛书名: 爱上Swift出版社:人民邮电出版社ISBN:9787115378804上架时间:2014-12-26出版日期:2015 年1月开本:16开页码: ...
- Swift游戏实战-跑酷熊猫(一) 简介 (含源代码)
优酷观看地址:http://v.youku.com/v_show/id_XNzM2Nzc2MTIw.html 通过这个小游戏,我们能够接触到物理系统(SKPhysicsBody,physicsWorl ...
随机推荐
- 页面静态化3 --- 使用PHP页面缓存机制来完成页面静态化(下)操作一个案例(新闻管理系统)
案例需求: 使用PHP缓存机制完成新闻管理系统的页面静态化数据库表 ecs_article (新闻表)因为新闻这些信息,并不是对实时性要求高,本身这个新闻比较稳定,内容也比较固定,所以我们考虑: 当第 ...
- 10.PHP内核探索:Apache运行与钩子函数
Apache是目前世界上使用最为广泛的一种Web Server,它以跨平台.高效和稳定而闻名.按照去年官方统计的数据,Apache服务器的装机量占该市场60%以上的份额.尤其是在 X(Unix/Lin ...
- vue model双向绑定
view <div id='demo' class="container"> <input type="text" v-model='name ...
- json数据交换
1.1 为什么要进行json数据交互 json数据格式在接口调用中.html页面中较常用,json格式比较简单,解析还比较方便. 比如:webservice接口,传输json数据. 1.2 s ...
- 【转】C#中HttpWebRequest的用法详解
本文实例讲述了C#中HttpWebRequest的用法.分享给大家供大家参考.具体如下: HttpWebRequest类主要利用HTTP 协议和服务器交互,通常是通过 GET 和 POST 两种方式来 ...
- HW 研发体系机构的几个术语
PDT(product development team)产品开发团队 类似于产品经理 程序员 -- PL -- PM --开发代表 -- PDT LEADER --------------- ...
- 低功耗蓝牙4.0BLE编程-nrf51822开发(4)
蓝牙是一种短距离的通讯方式,它设计的意图是取代电子便携设备之间的有线电缆连接.蓝牙的主要特性是健壮性.低功耗.成本低,它工作于免费的2.4无线传输频段. 蓝牙有两种技术系统:基本速率Basic Rat ...
- 规则html表单对象赋值
function grid_load_callback(data, status) { if (data.rows.length > 0) { ...
- JeeSite是基于多个优秀的开源项目,高度整合封装而成的高效,高性能,强安全性的 开源 Java EE快速开发平台
JeeSite本身是以Spring Framework为核心容器,Spring MVC为模型视图控制器,MyBatis为数据访问层, Apache Shiro为权限授权层,Ehcahe对常用数据进行缓 ...
- SQL集合函数中利用case when then 技巧
我们都知道SQL中适用case when then来转化数据库中的信息 比如 select (case sex when 0 then '男' else '女' end) AS sex from ...