iOS应用程序开发方法与实践 教学课件 ppt 作者 金福生 李朴之_ iOS应用程序开发方法与实践-第10章

上传人:E**** 文档编号:89444973 上传时间:2019-05-25 格式:PPTX 页数:32 大小:542.25KB
返回 下载 相关 举报
iOS应用程序开发方法与实践 教学课件 ppt 作者  金福生 李朴之_ iOS应用程序开发方法与实践-第10章_第1页
第1页 / 共32页
iOS应用程序开发方法与实践 教学课件 ppt 作者  金福生 李朴之_ iOS应用程序开发方法与实践-第10章_第2页
第2页 / 共32页
iOS应用程序开发方法与实践 教学课件 ppt 作者  金福生 李朴之_ iOS应用程序开发方法与实践-第10章_第3页
第3页 / 共32页
iOS应用程序开发方法与实践 教学课件 ppt 作者  金福生 李朴之_ iOS应用程序开发方法与实践-第10章_第4页
第4页 / 共32页
iOS应用程序开发方法与实践 教学课件 ppt 作者  金福生 李朴之_ iOS应用程序开发方法与实践-第10章_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《iOS应用程序开发方法与实践 教学课件 ppt 作者 金福生 李朴之_ iOS应用程序开发方法与实践-第10章》由会员分享,可在线阅读,更多相关《iOS应用程序开发方法与实践 教学课件 ppt 作者 金福生 李朴之_ iOS应用程序开发方法与实践-第10章(32页珍藏版)》请在金锄头文库上搜索。

1、第10章 Cocos2d游戏开发入门,本章内容概要,掌握Cocos2d项目模版的安装过程,以及如何创建新的Cocos2d项目。 理解Cocos2d中的基本概念,包括坐标轴的方向,以及节点、锚点、场景、图层、精灵、导演、动作的概念和作用。 掌握如何构建场景树,切换场景的方式,以及应用不同的场景切换效果。 了解动作的分类,并能够将不同类型的动作应用到节点。 了解文本标签、菜单的使用方法。 掌握播放声音和音效的方法。 学会实现简单的碰撞检测。,2,iOS应用程序开发方法与实践,10.1 Cocos2d简介,Cocos2d是一个开源的游戏框架,用于在计算机和移动设备上构建2D图形交互应用程序和游戏。

2、Cocos2d提供了很多重要的功能: 场景的管理和切换。 精灵的管理。 提供各种现成的游戏特效(波浪、液体等等)。 动画支持(旋转、缩放、交换、淡入淡出等)。 内置声音引擎。 提供了简单的按钮和菜单可供使用等等。,3,iOS应用程序开发方法与实践,10.2 安装Cocos2d项目模版,安装Cocos2d项目模版的主要步骤: 在Cocos2d主页上下载cocos2d-iphone安装包。 解压缩到某个本地目录。 在终端中进入该目录,并以管理员权限运行安装脚本。 重启Xcode即可看到Cocos2d的项目模版。 安装包中还提供了大量样例代码,可供参考。,4,iOS应用程序开发方法与实践,10.3

3、创建第一个Cocos2d项目,Cocos2d项目默认包含了如下文件: AppDelegate.h/.m是应用程序委托类,其applicationDidFinishLaunching:方法会在程序启动后调用。 RootViewController.h/.m是主视图控制器类,负责界面旋转等操作。 HelloWorldLayer.h/.m定义了一个图层,图层有些类似于UIKit中的视图。 GameConfig.h文件定义了应用程序的配置。 Resources目录包含了游戏需要使用的资源文件。 libs目录包含了Cocos2d游戏框架的源代码。,5,iOS应用程序开发方法与实践,10.4 坐标系,Co

4、cos2d框架基于OpenGL ES。 坐标原点位于界面左下角。 x轴正方向水平向右。 y轴正方向水平向上。 有时需要在UIKit坐标与Cocos2d坐标之间进行转换。,6,iOS应用程序开发方法与实践,10.5 节点,UIKit应用程序使用视图作为基本的显示单元,通过构建视图树来组成应用程序的界面。 Cocos2d与之类似,它使用节点对象作为显示的基本单元。 节点是一个CCNode对象,表示一个能够进行绘制的对象。 场景CCScene、图层CCLayer、精灵CCSprite、菜单CCMenu等都是节点。 节点类似于UIKit中的视图,它也具有层次关系。,7,iOS应用程序开发方法与实践,1

5、0.5.3 锚点,每个节点都具有一个锚点属性,定义了对节点进行变形与定位时的参照点。 property (nonatomic, readwrite) CGPoint anchorPoint; 锚点保存的不是坐标值,而是比例值。 参照点并不一定限制在节点区域内。 不同类型的对象会具有不同的默认锚点值。,8,iOS应用程序开发方法与实践,10.5.4 定期更新,节点允许在每一帧、或者按照指定时间间隔调用某个回调方法。 在回调方法中可以更新界面,或者进行实时碰撞检测。,9,iOS应用程序开发方法与实践,10.6 场景,场景是CCScene对象,表示功能上相对独立的游戏界面。 游戏Logo界面、主菜单

6、界面、设置界面、游戏界面等等都是不同的场景。 游戏会按照指定的流程,在不同场景之间进行切换。 在游戏开始时,需要指定最初显示的场景。,10,iOS应用程序开发方法与实践,10.7 图层,图层是CCLayer对象,定义了一个可以用于绘制的区域,多个图层相叠加就能够构成一幅完整的画面。 每个场景会包含若干图层,用于显示不同的内容。 图层的主要作用: 作为其他节点的容器。 用于处理触屏事件和加速事件。,11,iOS应用程序开发方法与实践,10.8 精灵,精灵是CCSprite对象,表示一个可以添加动画效果的2D图形。 打飞机游戏中玩家控制的战斗机、位置和形状不断变化的敌机、各种道具和子弹等等都是精灵

7、。 精灵常常作为图层的子节点。 有多种方式创建精灵,其中最重要的一种是从图片文件创建精灵。 精灵的默认锚点值为精灵的正中心。,12,iOS应用程序开发方法与实践,10.9 场景树,游戏使用若干场景来划分相对独立的流程。 每个场景包含若干图层,每个图层又包含若干精灵。 场景是一棵节点树的根节点,而树中的其他节点构成了当前场景的显示内容。,13,iOS应用程序开发方法与实践,10.10 导演与场景切换,导演是一个CCDirector类型的单件对象,负责以下任务: 切换场景 设置OpenGL配置 刷新屏幕 转换坐标系 控制游戏的暂停和继续等等。 导演不是节点对象。,14,iOS应用程序开发方法与实践

8、,10.10.1 场景切换,导演可以切换场景。 同一时刻只能有一个场景处于运行(显示)状态。 导演内部通过堆栈来管理游戏场景。,15,iOS应用程序开发方法与实践,10.10.2 场景切换效果,可以指定场景的切换效果。 场景切换类的基类CCTransitionScene,不同的场景切换效果都对应该类的一个子类。 Cocos2d框架提供了约30种场景切换效果,例如立体翻转、淡入淡出、覆盖、扇形切换等等。 请参见教材“标准触屏委托”一节中关于场景切换的案例代码。,16,iOS应用程序开发方法与实践,10.11 事件处理,图层除了用于构建游戏界面之外,还可以响应多点触屏事件和加速度事件。,17,iO

9、S应用程序开发方法与实践,10.11.1 触屏事件处理,两种触屏处理方式: 标准触屏处理:与UIKit中使用的触屏处理方式相同。 目标触屏处理:每一次只能接收到一个触屏对象,并允许停止触屏事件的转发。 默认为标准触屏处理方式,要使用目标触屏方式,需要重写registerWithTouchDispatcher方法。 两种触屏处理方式分别对应两个协议,需要在图层的子类中实现协议对应的方法。,iOS应用程序开发方法与实践,18,10.11.1 触屏事件处理,使用图层响应触屏的步骤: 创建图层的子类,在子类中实现触屏协议方法。 创建该图层类的对象,并将其isTouchEnabled属性置为YES。 将

10、该对象放入某个场景中。 参见教材案例。,19,iOS应用程序开发方法与实践,10.11.2 加速度事件处理,使用图层响应加速度事件的步骤: 创建图层的子类,在子类中实现加速度委托协议中的方法。 创建该图层类的对象,并将其isAccelerometerEnabled属性置为YES。 将该对象放入某个场景中。 参见教材案例。,20,iOS应用程序开发方法与实践,10.12 动作,节点可以执行各种基本动作,例如移动、旋转、缩放、跟随、速度变化、淡入淡出、无限循环某个动作等等。 通过对基本动作的叠加,还能够实现更为复杂的动作。,21,iOS应用程序开发方法与实践,10.12 动作,动作是一个CCAct

11、ion对象,主要分为4大类: 有限时间动作 跟随动作 无限重复动作 速度变化动作 CCAction是基类,不同动作都对应该类的某一个子类。 节点执行动作的步骤: 创建不同的CCAction子类对象,设置动作的参数。 将该动作对象应用到某个节点上即可。,22,iOS应用程序开发方法与实践,10.12.1 有限时间动作,有限时间动作是一个CCFiniteTimeAction对象,表示动作会在某个时间段内完成。 有限时间动作又细分为: 瞬时动作:CCActionInstant对象,动作会在瞬间完成。 过渡动作:CCActionInterval对象,动作会在一定时间内完成。,23,iOS应用程序开发方

12、法与实践,10.12.2 无限重复动作,CCRepeatForever类表示无限重复动作,即无限期地重复某个动作。,24,iOS应用程序开发方法与实践,10.12.3 变速动作,如果要想随时调整动作的执行速度,则可以使用CCSpeed类来封装要进行调整的动作,然后修改speed属性即可。 CCSpeed类的speed属性表示动作的执行速度倍数。 1.0表示按照原有速度执行。 2.0则为2倍原速度执行。 0.5则为原速度一半执行。,25,iOS应用程序开发方法与实践,10.12.4 跟随动作,一般的动作都是以屏幕背景作为参照系。 跟随动作表示为CCFollow类,它能够实现视角跟随效果和参照系的

13、切换。,26,iOS应用程序开发方法与实践,10.13 文本标签与字体,CCLabelTTF类表示文本标签。 CCLabelTTF类继承自CCSprite,所有针对精灵的操作都适用于文本标签。 创建文本标签时需要指定字符串内容、字体名称和字体大小。,27,iOS应用程序开发方法与实践,10.14 菜单与菜单项,CCMenu表示菜单,CCMenuItem表示菜单项。 一个菜单允许包含多个菜单项,菜单只能以菜单项作为其子节点。 Cocos2d提供了不同样式的菜单项: CCMenuItemLabel:根据文本标签创建菜单项。 CCMenuItemSprite:根据精灵创建菜单项。 CCMenuIte

14、mToggle:作为菜单项容器,通过包含其他菜单项,在点击时会在这些菜单项之间进行切换。 菜单项类似于界面中的按钮,点击菜单项会调用某个方法。在创建菜单项时需要指定方法选择器或者块对象。,28,iOS应用程序开发方法与实践,10.15 实现简单的碰撞检测,教材“实现简单的碰撞检测”一节中给出了一个简单的碰撞检测代码。 其核心思想是在每一帧的回调方法中判断子弹与敌机的区域是否有重叠。,29,iOS应用程序开发方法与实践,10.16 添加音乐和音效,使用SimpleAudioEngine类提供了对音乐的播放控制,例如暂停、恢复、停止等。 SimpleAudioEngine类定义在SimpleAud

15、ioEngine.h头文件中,使用时需要将该头文件导入。,30,iOS应用程序开发方法与实践,小结,本章主要介绍了以下内容: Cocos2d游戏框架的主要功能,以及使用Cocos2d进行游戏开发的好处。 安装Cocos2d项目模板的步骤。 Cocos2d项目结构。 Cocos2d坐标系的方向。 节点的功能。 场景、图层与精灵的作用和使用方法。,31,iOS应用程序开发方法与实践,小结,节点层次管理与场景树。 导演的作用,以及场景切换效果的实现方式。 使用图层处理触屏与加速度事件的实现过程。 动作的不同类型,以及让节点执行不同动作的过程。 文本标签、字体、菜单的使用方法。 实现简单的碰撞检测。 播放声音与音效。,32,iOS应用程序开发方法与实践,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号