




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
闽江学院教案校际选修课 课程名称Flash游戏编程 任课老师: 肖刚第五章 角色设计教学提要角色的概念与意义角色的实现技巧角色的应用实例重点与难点角色设计的思路与技巧教学内容:一、 角色的概念与意义角色无疑是游戏及其重要的组成部分。从狭义上说,角色就是游戏中的各种人物怪物。角色可以分为玩家角色和非玩家角色。玩家角色为玩家所扮演的游戏中的角色,而非玩家角色则是由计算机控制的游戏中的角色。它们的共同点是都是由动画和程序组成,不同点在于玩家角色主要依赖人机交互来驱动角色的活动,而非玩家角色主要依赖人工智能来驱动角色的活动。由于Flash经常被用来制作小游戏,这让人觉得似乎没有必要提“角色”这两个字。事实上,“角色”只是一个概念,并没有固定的样式。从广义上说,所谓角色,就是游戏中的各种人物、怪物、武器、设备、环境等等,只要是具有一定外观的、集成了这个外观指代的对象的所有功能的独立模块,都可以称为是角色。例如:u 棋类游戏中的棋子u 射击游戏中的匪徒u 打气球游戏中的气球u 格斗游戏中的英雄u 战斗机游戏中的飞机u 飞行棋游戏中的骰子换句话说,整个游戏的虚拟世界,就是用各种各样的角色组合而成的。将所有的可视对象都看成是角色,利用角色设计思想和技巧来设计游戏,那么游戏开发工作就会变得简单明了。因为设计好角色之后的游戏开发工作就变得非常简单了,只要创建这个角色的实例,读写角色对象的属性、应用角色对象的状态、调用角色对象的方法以及处理角色的事件等,从而让角色发挥各自的作用,组成虚拟世界中的各个人物、物件等等。再利用角色之间的相互作用,就可以实现游戏的基本逻辑了。二、 角色的实现步骤对于程序员和美工人员来说,游戏角色设计的概念是不同的。角色设计对于美工人员来说,是指使用游戏中各种角色的画面、动作、特效、特技等的设计。而对于程序开发人员来说,角色设计意味着将给出的图片、动画等,按一定的逻辑串在一起,并加上这个角色应该有的属性、状态、行为、事件,组成一个既包含动画又包含程序的具有一定独立性的模块。在此我们讲解的当然是从程序员的角度进行角色设计了。在Flash里面,角色的设计其实非常的简单。MovieClip类已经为我们构建了一个角色所需的基本框架,只要在这个框架下设计某个角色的所有外观、特征、动画、特技、属性、函数以及事件,就可以完成角色设计。换句话说,Flash角色的本质是一个高度专门化的影片剪辑,它对外提供角色接口,对内则实现这些接口。一般来说,设计角色遵循自上而下,由主体到细节的思路。即一开始确认你要做的是什么样的角色,它有哪些功能,将这个功能描述出来,具体的功能将被表示为属性、方法和事件的列表。然后根据这个功能表将这些功能在内部一一实现。现在假设要设计一个闯关游戏中的英雄角色。我们依据这个思路,对这个角色进行大致的讲解。游戏描述:游戏的每个关口都是一个梯田一样的地图,地图上布满了各种宝石,也有怪物和陷阱等。玩家可以控制英雄在每个层次之间跳跃。在规定的时间内尽量避免遇到麻烦并捡到所有的宝石就获得胜利。英雄角色描述:英雄角色这是这个游戏的一个关键点。先来分析这个角色,它可以左右行走,上下跳跃、当它捡到宝石的时候,应该有一个开心的动作,当它被怪物捕捉到的时候,应该有被抓住的动画,当它掉入陷阱也有一个下落的动作。这些动作都应该在程序中能够自由地调用。现在我们考虑如何设计角色的这些功能。大致步骤:1) 首先得设计好这个角色的所有功能。使用面向对象的设计思想。将这个角色看成是一个类,那么它应该具有以下这些成员:成员成员描述status角色当前所处的状态(如running、dead)score角色获得的财富值health角色的生命值powerLevel角色的等级goLeft()向左走的动作goRight()向右走的动作jumpUp()向上跳的动作jumpDown()向下跳的动作happy()开心的动画效果fall()掉下去的动画效果更多角色成员读者可以自行设计。2) 素材准备:根据角色的这些组成部分,设计其动画。每个动作都单独设计成一个剪辑或者一组图片。著名闪客小小的作品流行之后,它始创的具有简单线条十分可爱的小人形象在网上流行起来。可以参考他的小人形象制作我们的角色动画。下图是这个动画的几个截图。角色的几个动作3) 完成素材准备之后,进入角色详细设计阶段。一般而言,将角色制作成一个影片剪辑。在剪辑的第1帧进行初始化、参数设定以及定义各种函数。接着是一段段的动画,使用时间轴跳转语句保证这些动画之间不会互相干扰。一般来说,每一段的第1帧设置帧标签,并且设置角色的状态值等,在段的最后一帧使用跳转语句返回段的第1帧从而形成一个闭环。4) 进行各种测试,直到得到满意的结果为止。三、 角色的设计实例角色实例:小兵角色说明:这是一个只有顶视图的小兵形象,小兵只有跑(四个方向)、停、死三个状态。这个角色将用在后面的多个游戏中。具体步骤:1) 确定这个角色的成员为:成员成员描述status角色当前所处的状态run(direction)向指定的方向跑动stand()站立不动dead()死去2) 设计这个角色的动画,将这个角色的动画展开如下图所示:小兵角色的几个画面3) 将动画串在一个剪辑中。总共8帧,第1帧空白,28帧内容与上图编号顺序对应。对齐这些素材,使得播放时是一个完整的动画效果。4) 在这个剪辑的时间轴上新建图层,改名为action,设置第2帧的帧标签为stop,第3帧为run,第8帧为dead(先将它们设置为关键帧)。5) 编写代码以便完成全部的角色功能。由于这个角色比较简单,所以其代码量很少,但我们可以从中了解角色设计的“套路”。在第1帧中输入以下代码:var status:String=init;var speed:Number, radio:Number;var direction=0;var x1 = 49, y1 = 99, x2 = 447, y2 = 500;/角色能跑动的范围function run(dir:int) direction=dir;addEventListener(Event.ENTER_FRAME,runOnce);function runOnce(Event) /跑动,dir指示跑动的方向if (direction=0) stand();return;if (direction=3) x -= speed;if (xy2-radio) y = y2-radio;if (direction =1) x += speed;if (xx2-radio) x = x2-radio;if (direction=4) y -= speed;if (yy1+radio) y = y1+radio;rotation = 90*(direction-1);if (status!=running) gotoAndPlay(run);function stand() removeEventListener(Event.ENTER_FRAME,runOnce);gotoAndStop(stop);function dead() gotoAndStop(dead);这段代码对角色初始化并将几个公共函数实现。第2帧输入以下代码:stop();status=stoping;speed = 10;radio = 25;这一帧表示角色处于停止状态,并且设置了两个变量,这在以后的程序中会使用到。第3帧输入以下代码:status=running;var s=new RunningSound();s.play();这一帧表示角色处于运动状态,并且播放一个声音。RunningSound是库中一个跑步声的链接名称。如果没有使用声音,应将后两行代码删除。第7帧输入以下代码:gotoAndPlay(run);这条跳转语句使得角色一旦进入跑步状态,它将处于原地踏步的循环之中。第8帧输入以下代码:stop();removeEventListener(Event.ENTER_FRAME,runOnce);status=dead;于是完成了这个角色的设计,后面将把这个角色用于多个游戏中。四、 角色的应用将这个角色应用在游戏中是非常简单的。步骤如下:1) 将做好的英雄剪辑从库中拖出置于舞台上。由于剪辑的第一帧是空白的,所以我们这个时候在舞台上看到的是一个空心的圆圈。2) 选中这个剪辑实例,在属性栏中设置它的实例名称为hero。3) 在主时间轴剪辑中新建图层,改名为action,然后在第一帧输入以下代码:stage.addEventListener(KeyboardEvent.KEY_DOWN,heroRun);/跑动stage.addEventListener(KeyboardEvent.KEY_UP,heroStop);/取消跑动function heroStop(KeyboardEvent) hero.stand();function heroRun(evt:KeyboardEvent) var direction:Number=0;/英雄跑动的方向。14分别表示东南西北,0表示不动。if (evt.keyCode=Keyboard.LEFT) direction=3;if (evt.keyCode =Keyboard.UP) direction=4;if (evt.keyCode =Ke
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025公共基础知识题库与参考答案
- 全国青少年禁毒知识竞赛题库【附答案】
- 2025年高级导游证考试(导游综合知识)考前冲刺试题及答案
- 麻醉药品和精神药品使用与管理培训考核试卷测试题库含答案
- 中国近代史纲要试题及答案
- 重庆外国语学校2026届高三(上)开学考试语文试题及答案
- 企业安全事故预案培训课件
- 疫情公告回复管理办法
- 充满正能量课件
- 催收大额账户课件
- 设备维修保养风险评估与规避
- SYT5405-2019酸化用缓蚀剂性能试验方法及评价指标
- 非器质性失眠症的护理查房
- 《新学期“心”动力》心理主题班会
- 《基础写作教程》 课件全套 第1-11章 基础写作概论- 理论文体
- 培养团队协调能力
- 拓培非格司亭注射液-临床药品应用解读
- 装饰色彩课件
- 中央企业合规管理办法
- (医学课件)急诊科进修汇报
- 1-丁烯安全技术说明书MSDS
评论
0/150
提交评论