本书是Flash游戏设计的入门教程,共分9章,介绍了5个经典游戏案例。全书围绕Flash游戏设计的基础与方法,组织设计了四重教学境界: 以一个短小精悍的小游戏引领读者打开游戏设计之门; 以精讲精练的方式介绍了许多实用的Flash动画方法和AS3编程方法; 从界面到逻辑,全程诠释了“2048”、“连连看”、“五子棋”游戏的创作过程; 以经典游戏“太空大战”的创作为例,详细示範了Starling框架的搭建和编程方法。 本书由易到难,深入浅出,循序渐进,既注重基础知识模组教学,又注重模组间的关联教学,有助于读者短期内掌握Flash游戏设计的基本方法,形成游戏设计的大局观,推出自己的新作品。 本书适合作为高等院校、游戏培训学校、高职类学校Flash游戏设计课程的教材,同时也适用于广大游戏编程爱好者自学与提高。
基本介绍
- 书名:Flash游戏设计案例教程
- 作者:董相志
- ISBN:978-7-302-41990-7
- 类别:Flash 游戏 案例 教程 教材
- 页数:236
- 定价:34.5元
- 出版社:清华大学出版社
- 出版时间:2016年2月
- 开本:185mm×260mm
- 责任编辑:黄芝 王冰飞
主要内容

本教程围绕游戏界面设计和逻辑设计的概念与方法,从理论到实践,由局部到整体,层层推进,既注重基础知识模组教学,又注重模组间的关联教学,目标是帮助读者较短时间内掌握 Flash 游戏设计的基本方法,形成游戏设计的大局观,能独立创作完成自己的新作品。
本书各章内容安排如下:
本书各章内容安排如下:
第 1 章概述 Flash 游戏设计的理念与方法,帮助读者了解和认识 Flash 游戏设计的概貌;
第 2 章从一个小程式入手,帮助读者迅速认识并建立对 Flash 程式的初步印象和感知;第 3章则更进一步,直接把一个较为简单的游戏剥开了给读者看。这 3 章内容专为帮助读者入门和体验而设,是本书第一重教学境界:开门见山。
第 4 章围绕 Flash 动画基础遴选了 18 个知识模组精讲精练,第 5 章由易到难凝练了 18
个学习模组深入浅出讲解 AS3 编程方法。第 4 章和第 5 章专为夯实游戏开发基础而设,是
本书第二重教学境界:基础为王。
第 6 章、第 7 章、第 8 章选取三个经典游戏:2048 游戏、连连看游戏和五子棋游戏进
行示範教学,带领读者细緻入微领会游戏设计精髓,创新游戏设计理念,学习游戏设计技巧,
全面提高游戏设计实战水平。这 3 章为本书第三重教学境界:实践至上。
第 9 章用 Starling 框架进行游戏开发,选取经典的空战游戏为本章示範案例,将 Starling
框架搭建和编程方法贯穿其中,演示规范成熟的游戏软体设计和组织方法,引领读者领略游
戏设计的综合性和全面性,是游戏设计的高级阶段。作为最后一章,完美演绎了本书的第四
重教学境界:创新无限。
看水果学单词完整版
拥有自己的第一款游戏:看水果学单词,想想就令人兴奋不已。游戏要好玩,能给人带来快乐或挑战才有意义,就像我们小时候玩过的各种游戏,有老鹰捉小鸡、捉迷藏、跳方块…,无论长多大,都令人难忘。
看水果学单词

看水果学单词这款游戏是为英语学习者设计的,游戏主旨是帮助玩家记单词。基本想法是把图片和单词放到舞台上,由玩家进行识别和匹配。游戏设四关,每关给三个水果和三个单词,全部匹配成功则过一关。
最初创意这款游戏时,有两种设计思路,一种是每一关水果图片是固定的(题目固定),这样便于玩家强化记忆和複习。另一种是每一关水果图片是随机的,这样玩家更有新鲜感,会更有乐趣,当然挑战性也高。新东方出了一本记单词的书,有两种版本,一种是按字母顺序的正序版,一种是乱序版,据我所知,许多人愿意用乱序版,因为乱序版更活泼,不死板。受此启发,游戏每一关内容用随机抽取和随机排列的方法,增强游戏的活泼性。
2048游戏完整版

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

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

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

开始学习本章内容之前,仍然可以像前几章那样,首先对太空大战这个游戏试玩和体验,带着新鲜感知去开启学习之旅,别有一番快乐。
游戏开始界面,以漂移的黑色星空为背景,预示着浩瀚宇宙的无限神秘,太空游戏的目的是为玩家带来探索和发现的乐趣,带来空战搏击的乐趣。开始界面包含三个可视元素:背景、标题和按钮......
目录
第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.1FlashProfessionalCC2015
1.3.2FlashBuilder
1.3.3其他工具
1.4小结
1.5习题
第2章写出你的第一个程式
2.1準备工作
2.2从创建FLA档案开始
2.3创建主程式Main.as
2.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创建游戏封面剪辑StartGame
3.6创建游戏进行剪辑PlayGame
3.7创建游戏结束剪辑EndGame
3.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与MovieClip
5.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下载并安装TexturePacker
9.3.3下载并安装粒子设计系统
9.3.4下载并安装音效创作工具
9.4创建游戏项目框架
9.4.1项目创建与类库导入
9.4.2修改Starling框架主类SpaceWar
9.4.3新建游戏主类Game
9.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 2015
1.3.2Flash Builder
1.3.3其他工具
1.4小结
1.5习题
第2章写出你的第一个程式
2.1準备工作
2.2从创建FLA档案开始
2.3创建主程式Main.as
2.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创建游戏封面剪辑StartGame
3.6创建游戏进行剪辑PlayGame
3.7创建游戏结束剪辑EndGame
3.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与MovieClip
5.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习题