Flash游戏设计案例教程( 二 )


Flash游戏设计案例教程

文章插图
2048游戏设计第6、7、8、9连续四章实现了四个不同风格游戏的完整设计,希望读者能反覆练习,最后做到得心应手,运用自如,像庖丁解牛那样:“手之所触,肩之所倚,足之所履,膝之所踦,砉然向然,奏刀騞然,莫不中音 。”2048这款游戏由义大利男孩Gabriele Cirulli于2014年创作,当时他只有19岁 。这款游戏在上线后风靡全球,此后有许多衍生版本,其算法大致相同 。本章介绍的这款2048,从界面到编程,都是本书作者的独立设计 。连连看游戏完整版连连看游戏非常流行,诸如宠物连连看、果蔬连连看、水晶连连看等,这些游戏的内容主题不同,但其算法实现是类似的,玩法是相同的 。连连看游戏有若干技术版本,也有用C++、C#、Java语言实现的,网上最流行的还是Flash版本的连连看,本章将与你一起彻头彻尾设计完成一款具有商业水準的水果连连看游戏 。要想提高游戏编程水平,没有什幺捷径可走,大量阅读经典代码,勤于实践,从代码中学习编程,借鉴别人成功经验,内化于心,外化于行是必由之路 。
Flash游戏设计案例教程

文章插图
游戏进行页面在深入探讨连连看游戏设计方法之前,你最应该做的是打开chapter7资料夹,运行其中的FruitLink.swf程式 。撰写你的试玩体验,你认为哪些设计最好,是你最欣赏的,你对哪些内容与设计充满了好奇,把它们一一列出来,带着这些问题与好奇开启本章探索之旅,去收穫你的快乐与惊喜吧 。这个游戏有25关,要想迅速全部通关,离不开重置和提示按钮帮助,我的最好成绩是15分钟以内,你的呢?对了,这款游戏特意去掉了通关时间记录和得分排行榜,学完了本章,你完全可以自行把它们加上去,记住,相对于即将学习的内容而言,这是个很简单的功能 。本章不包含过多功能的目的是儘量压缩游戏规模,避免内容过长,集中注意力于核心要点的学习上 。五子棋游戏完整版五子棋是一种博弈类策略型棋类游戏,是多数人从孩提时代就接触和熟悉的经典益智类游戏项目,认知度颇高 。本章设计的五子棋游戏,集娱乐与学习功能于一身,不但实现了人机对弈的基本功能,而且实现了双人对弈棋局复盘、保存和打谱等高级功能 。
Flash游戏设计案例教程

文章插图
五子棋游戏对本游戏的学习,最好的策略仍然是从游戏的试玩中开始 。打开本章资料夹chapter8,运行FiveChess.swf程式,五子棋游戏界面如图8.1所示 。界面的构成主要包括棋盘和按钮操作面板两个部分 。操作面板又分对弈面板和棋局复盘面板两个功能区 。太空大战游戏Starling是在Stage3D基础上实现的一种2D框架,专为Flash游戏开发而设计 。Starling的AS3类库重构了Flash显示列表和事件机制,所有的显示对象都直接由GPU渲染,可以显着提升游戏性能 。Starling的英文原意是“八哥”这种小鸟 。用Starling做游戏是一种境界,天有九重,游戏设计也有九重 。欲达九重之化境,必借鲲鹏展翅九万里 。所以,Staring堪比中文之鲲鹏 。
Flash游戏设计案例教程

文章插图
游戏进行界面开始学习本章内容之前,仍然可以像前几章那样,首先对太空大战这个游戏试玩和体验,带着新鲜感知去开启学习之旅,别有一番快乐 。游戏开始界面,以漂移的黑色星空为背景,预示着浩瀚宇宙的无限神秘,太空游戏的目的是为玩家带来探索和发现的乐趣,带来空战搏击的乐趣 。开始界面包含三个可视元素:背景、标题和按钮...... 目录第1章Flash与游戏1.1Flash游戏技术框架1.1.1Flash游戏运行时1.1.2Flash游戏开发工具1.1.3Flash游戏开发伺服器1.1.4Flash游戏程式语言1.1.5Flash游戏引擎和开发框架1.1.6Flash游戏题材与分类1.2Flash游戏开发流程1.2.1创意策划阶段1.2.2开发编码阶段1.2.3测试最佳化阶段1.2.4发行收益阶段1.2.5维护升级阶段1.3Flash游戏开发工具介绍1.3.1FlashProfessionalCC20151.3.2FlashBuilder1.3.3其他工具1.4小结1.5习题第2章写出你的第一个程式2.1準备工作2.2从创建FLA档案开始2.3创建主程式Main.as2.4理解包2.5理解类和对象2.6理解构造函式2.7关联FLA和AS主类2.8输出测试SWF档案2.9学到了什幺2.10更进一步:在舞台上输出2.11优秀编程习惯2.12小结2.13习题第3章写出你的第一个游戏3.1创意3.2準备游戏素材3.3导入素材到库3.4创建游戏元件3.5创建游戏封面剪辑StartGame3.6创建游戏进行剪辑PlayGame3.7创建游戏结束剪辑EndGame3.8游戏逻辑设计3.9数据结构设计3.10WordCard类设计3.11GameMain类设计3.12游戏发布与测试3.13小结3.14习题第4章Flash动画基础4.1绘图模式4.2变形工具4.3文本4.4元件、库和实例4.5滤镜效果4.63D变换和颜色变换4.7时间轴、帧、关键帧和图层4.84种基本动画4.9逐帧动画4.10补间动画4.11补间形状4.123D补间动画4.13路径导向动画4.14混合模式与遮罩模式4.15遮罩动画4.16补间动画后期製作4.17骨骼动画4.18动画预设4.19小结4.20习题第5章AS3编程基础5.1常量、变数、数据类型5.2AS3类图5.3运算符和表达式5.4分支与循环 5.5函式5.6类、属性、方法和实例对象5.7包5.8文档类与导出类5.8.1文档类5.8.2导出类5.9显示对象、显示容器与显示列表5.9.1显示对象5.9.2显示容器5.9.3显示列表5.9.4SWF档案全局显示列表5.10Sprite与MovieClip5.11事件与侦听器5.12键盘控制对象运动5.13ENTER_FRAME事件5.14舞台边界5.15滚屏效果5.16数组编程5.16.1创建数组5.16.2连结数组5.16.3添加数组元素5.16.4删除数组元素5.16.5截取子数组5.16.6插入或删除数组元素5.16.7翻转数组5.16.8数组转为字元串5.16.9检索数组5.16.10数组排序5.16.11数组的every方法5.16.12数组的some方法5.16.13数组的map方法5.16.14数组的filter方法5.16.15数组的forEach方法5.174种碰撞检测方法5.17.1hitTestObject方法5.17.2hitTestPoint方法5.17.3像素级检测hitTest方法5.17.4几何中心距离测量法5.18自定义事件与类通信5.18.1事件生命周期5.18.2自定义事件5.19小结5.20习题第6章“2048”游戏完整版6.1游戏试玩6.2了解项目组织6.3界面布局与规划6.4创作好看的数字卡片6.5创作按钮6.6创作游戏状态页面6.7主时间轴逻辑安排6.8设计游戏文档类6.9游戏初始化6.9.1初始化入口函式6.9.2棋盘空白检测函式6.9.3数字块生产和删除函式6.9.4数字块2和4随机生产函式6.9.5清除数字块函式6.9.6数字块动画呈现函式6.10键盘回响函式6.11游戏核心算法6.11.1四方向合併数字块函式6.11.2四方向移动数字块函式6.11.3数字块单步移动函式6.11.4游戏状态检测与更新函式6.12游戏模拟测试6.13小结6.14习题第7章“连连看”游戏完整版7.1游戏试玩与体验7.2游戏项目组织7.3素材导入与元件设计7.4游戏规则制定7.5游戏状态机设计7.6游戏关卡参数设定 7.7游戏进行页面的布局7.8水果卡片类7.9声音管理类7.10游戏主类数据结构7.11游戏的入口逻辑7.12开始页面编程逻辑7.13游戏进行页面编程逻辑7.13.1进行页面初始化7.13.2游戏面板初始化7.13.3处理卡片单击事件7.13.4处理连通的配对卡片7.13.5游戏状态实时监测7.13.6卡片阵列重置7.13.7配对卡片提示7.13.8游戏暂停与继续7.13.9声音开关7.13.10自动寻找连通卡片对7.13.11连通寻路算法7.13.12公共函式部分7.14闯关成功页面7.15闯关失败页面7.16全部通关成功页面7.17游戏模拟测试7.18小结7.19习题第8章“五子棋”游戏完整版8.1游戏试玩与体验8.2项目组织8.3游戏界面元素设计8.3.1库元件设计8.3.2时间轴与舞檯布局8.3.3棋子设计8.3.4棋盘设计8.3.5按钮设计8.3.6对话框设计8.4棋子类设计8.5对话框类设计8.6游戏主类常量与变数8.7游戏主类构造函式8.8操作面板按钮事件函式8.8.1电脑先行事件函式8.8.2玩家先行事件函式8.8.3双人模式事件函式8.8.4悔棋事件函式8.8.5打开棋局事件函式8.8.6保存棋局事件函式8.8.7关闭棋局事件函式8.8.8转第1手棋事件函式8.8.9转末手棋事件函式8.8.10转下一手棋事件函式8.8.11转上一手棋事件函式8.9玩家落子事件函式8.10电脑落子函式8.11游戏核心算法系列函式8.12其他函式8.13小结8.14习题第9章Starling框架游戏完整版9.1游戏试玩与体验9.2配置Starling框架9.2.1下载Starling最新安装包9.2.2下载Starling粒子系统扩展包9.2.3下载brimelow对象池管理包9.3开发环境与工具準备9.3.1下载并安装FlashPlayer调试版9.3.2下载并安装TexturePacker9.3.3下载并安装粒子设计系统9.3.4下载并安装音效创作工具9.4创建游戏项目框架9.4.1项目创建与类库导入9.4.2修改Starling框架主类SpaceWar9.4.3新建游戏主类Game9.5创建游戏状态机9.5.1状态机接口类 9.5.2游戏开始状态类9.5.3游戏进行状态类9.5.4游戏结束状态类9.6游戏素材导入和处理9.6.1素材导入到项目中9.6.2创建SpriteSheet纹理对象集9.6.3创建资源管理类9.7定义游戏角色类9.7.1背景类9.7.2子弹类9.7.3玩家战机类9.7.4外星飞船类9.7.5爆炸粒子效果类9.7.6计分面板类9.8定义游戏管理类9.8.1对象池管理类9.8.2子弹管理类9.8.3外星飞船管理类9.8.4爆炸粒子特效管理类9.8.5碰撞检测管理类9.9项目组织9.10Flash游戏之路9.11习题参考文献后记第1章Flash与游戏1.1Flash游戏技术框架1.1.1Flash游戏运行时1.1.2Flash游戏开发工具1.1.3Flash游戏开发伺服器1.1.4Flash游戏程式语言1.1.5Flash游戏引擎和开发框架1.1.6Flash游戏题材与分类1.2Flash游戏开发流程1.2.1创意策划阶段1.2.2开发编码阶段1.2.3测试最佳化阶段1.2.4发行收益阶段1.2.5维护升级阶段1.3Flash游戏开发工具介绍1.3.1Flash Professional CC 20151.3.2Flash Builder1.3.3其他工具1.4小结1.5习题第2章写出你的第一个程式2.1準备工作2.2从创建FLA档案开始2.3创建主程式Main.as2.4理解包2.5理解类和对象2.6理解构造函式2.7关联FLA和AS主类2.8输出测试SWF档案2.9学到了什幺2.10更进一步: 在舞台上输出2.11优秀编程习惯2.12小结2.13习题第3章写出你的第一个游戏3.1创意3.2準备游戏素材3.3导入素材到库3.4创建游戏元件3.5创建游戏封面剪辑StartGame3.6创建游戏进行剪辑PlayGame3.7创建游戏结束剪辑EndGame3.8游戏逻辑设计3.9数据结构设计3.10WordCard类设计3.11GameMain类设计3.12游戏发布与测试3.13小结3.14习题第4章Flash动画基础 4.1绘图模式4.2变形工具4.3文本4.4元件、库和实例4.5滤镜效果4.63D变换和颜色变换4.7时间轴、帧、关键帧和图层4.84种基本动画4.9逐帧动画4.10补间动画4.11补间形状4.123D补间动画4.13路径导向动画4.14混合模式与遮罩模式4.15遮罩动画4.16补间动画后期製作4.17骨骼动画4.18动画预设4.19小结4.20习题第5章AS3编程基础5.1常量、变数、数据类型5.2AS3类图5.3运算符和表达式5.4分支与循环5.5函式5.6类、属性、方法和实例对象5.7包5.8文档类与导出类5.8.1文档类5.8.2导出类5.9显示对象、显示容器与显示列表5.9.1显示对象5.9.2显示容器5.9.3显示列表5.9.4SWF档案全局显示列表5.10Sprite与MovieClip5.11事件与侦听器5.12键盘控制对象运动5.13ENTER_FRAME事件5.14舞台边界5.15滚屏效果5.16数组编程5.16.1创建数组5.16.2连结数组5.16.3添加数组元素5.16.4删除数组元素5.16.5截取子数组5.16.6插入或删除数组元素5.16.7翻转数组5.16.8数组转为字元串5.16.9检索数组5.16.10数组排序5.16.11数组的every方法5.16.12数组的some方法5.16.13数组的map方法5.16.14数组的filter方法5.16.15数组的forEach方法5.174种碰撞检测方法5.17.1hitTestObject方法5.17.2hitTestPoint方法5.17.3像素级检测hitTest方法5.17.4几何中心距离测量法5.18自定义事件与类通信5.18.1事件生命周期5.18.2自定义事件5.19小结5.20习题