褚延顺flash策略类游戏研究与研发设计.docx
《褚延顺flash策略类游戏研究与研发设计.docx》由会员分享,可在线阅读,更多相关《褚延顺flash策略类游戏研究与研发设计.docx(14页珍藏版)》请在冰豆网上搜索。
褚延顺flash策略类游戏研究与研发设计
毕业设计(论文)
题目
基于flash的策略类游戏
研究与设计
系(院)
计算机科学技术系
专业
软件技术
班级
09级2班
学生姓名
褚延顺
学号
2009022844
指导教师
董斌
职称
讲师
二〇一二年五月二十日
基于flash的策略类游戏研究与设计
摘要
Flash是美国的一家公司(MACROMEDIA公司)于1996年6月推出的优秀网页动画设计软件,在中国经历了9年的发展时间。
曾经在中国风云一时,出现了FALSH热。
由于动漫也成为一种时尚的艺术,而且最直接简单的动画创作是就FLASH。
我认为它可以自成体系,有它自己独特的表现方法.手段和流通方式及“闪客”生活。
甚至我认为它是现代文明的一种符号,新新艺术创作方式,是一种流行于网络的网络文化。
电脑替代了传统的笔墨,移动的图象和声音同样表达了动画艺术家的情感,所以我把FLASH作为独立的动画来谈。
我这种论述不论对与错,但是他始终代表了我对FLASH认识的观点和理解。
今天让我们共同来探讨FLASH,我的观点是FLASH不可否认已经成为了一种新的艺术表现形式,作为新的事物它的应用非常广泛,主要用于网络,FLASH网站片头,FLASH演示动画,FLASH网站,FLASH商业广矚慫润厲钐瘗睞枥庑赖。
本设计通过。
。
。
技术,设计并实现了一个具有。
。
。
功能,。
。
。
特点。
。
。
优势的策略类游戏,能够。
。
。
。
。
。
具有。
。
。
;论文通过。
。
。
。
阐述了游戏设计的。
。
。
。
。
。
。
。
通过测试证明,本设计能够较好地。
。
。
。
。
。
具有较好的实用价值,达到了预期目标。
聞創沟燴鐺險爱氇谴净。
关键词:
FLASH;游戏;策略类;
目录
第一章绪论2残骛楼諍锩瀨濟溆塹籟。
1.1Flash软件简介2酽锕极額閉镇桧猪訣锥。
1.2Flash的特点3彈贸摄尔霁毙攬砖卤庑。
1.3Flash游戏3謀荞抟箧飆鐸怼类蒋薔。
1.4Flash游戏的发展方向4厦礴恳蹒骈時盡继價骚。
第二章游戏设计思路5茕桢广鳓鯡选块网羈泪。
2.1游戏的框架5鹅娅尽損鹌惨歷茏鴛賴。
2.2游戏的组成5籟丛妈羥为贍偾蛏练淨。
2.3场景间的转换5預頌圣鉉儐歲龈讶骅籴。
第三章Flash游戏的功能实现7渗釤呛俨匀谔鱉调硯錦。
3.1打鸟7铙誅卧泻噦圣骋贶頂廡。
3.1打鸭子9擁締凤袜备訊顎轮烂蔷。
第四章总结13贓熱俣阃歲匱阊邺镓騷。
参考文献13坛摶乡囂忏蒌鍥铃氈淚。
谢辞14蜡變黲癟報伥铉锚鈰赘。
第一章绪论
1.1Flash软件简介
Flash是由macromedia公司推出的交互式矢量图和Web动画的标准。
网页设计者使用Flash创作出既漂亮又可改变尺寸的导航界面以及其他奇特的效果。
Flash也是存储芯片的一种,通过特定的程序可以修改里面的数据。
買鲷鴯譖昙膚遙闫撷凄。
Flash是一种创作工具,设计人员和开发人员可使用它来创建演示文稿、应用程序和其它允许用户交互的内容。
Flash可以包含简单的动画、视频内容、复杂演示文稿和应用程序以及介于它们之间的任何内容。
綾镝鯛駕櫬鹕踪韦辚糴。
Flash特别适用于创建通过Internet提供的内容,因为它的文件非常小。
Flash是通过广泛使用矢量图形做到这一点的。
与位图图形相比,矢量图形需要的内存和存储空间小很多,因为它们是以数学公式而不是大型数据集来表示的。
位图图形之所以更大,是因为图像中的每个像素都需要一组单独的数据来表示。
驅踬髏彦浃绥譎饴憂锦。
在Flash中创作内容时,需要在Flash文档文件中工作。
Flash文档的文件扩展名为.fla。
Flash文档有四个主要部分:
1.舞台是在回放过程中显示图形、视频、按钮等内容的位置。
在Flash基础中将对舞台做详细介绍。
2.时间轴用来通知Flash显示图形和其它项目元素的时间,也可以使用时间轴指定舞台上各图形的分层顺序。
位于较高图层中的图形显示在较低图层中的图形的上方。
猫虿驢绘燈鮒诛髅貺庑。
3.库面板是Flash显示Flash文档中的媒体元素列表的位置。
4.ActionScript代码可用来向文档中的媒体元素添加交互式内容。
例如,可以添加代码以便用户在单击某按钮时显示一幅新图像,还可以使用ActionScript向应用程序添加逻辑。
逻辑使应用程序能够根据用户的操作和其它情况采取不同的工作方式。
Flash包括两个版本的ActionScript,可满足创作者的不同具体需要。
锹籁饗迳琐筆襖鸥娅薔。
1.2Flash的特点
1.使用矢量图形和流式播放技术。
与位图图形不同的是,矢量图形可以任意缩放尺寸而不影响图形的质量;流式播放技术使得动画可以边播放边下载,从而缓解了网页浏览者焦急等待的情绪。
構氽頑黉碩饨荠龈话骛。
2.通过使用关键帧和图符使得所生成的动画(.swf)文件非常小,几K字节的动画文件已经可以实现许多令人心动的动画效果,用在网页设计上不仅可以使网页更加生动,而且小巧玲珑下载迅速,使得动画可以在打开网页很短的时间里就得以播放。
輒峄陽檉簖疖網儂號泶。
3.把音乐,动画,声效互方式融合在一起,越来越多的人已经把Flash作为网页动画设计的首选工具,而且可以支持MP3的音乐格式,这使得加入音乐的动画文件也能保持小巧的‘身材’。
尧侧閆繭絳闕绚勵蜆贅。
4.强大的动画编辑功能使得设计者可以随心所欲地设计出高品质的动画,通过ACTION和FSCOMMAND可以实现交互性,使Flash具有更大的设计自由度,另外,它与当今最流行的网页设计工具Dreamweaver配合默契,可以直接嵌入网页的任一位置,非常方便。
识饒鎂錕缢灩筧嚌俨淒。
1.3Flash游戏
Flash游戏在游戏形式上的表现与传统游戏基本无异,但主要生存于网络之上,因为它的体积小、传播快、画面美观,所以大有取代传统web网游的趋势,现在国内外用Flash制作无端网游已经成为一种趋势,只要浏览器安装了ADOBE的Flashplayer,就可以玩所有的flash游戏了,这比传统的web网游进步许多信息资料收集,需求分析凍鈹鋨劳臘锴痫婦胫籴。
对于Flash游戏而言,容量同比来说是最小的,而且占用时间很短,可以起到放松娱乐,休闲身心的作用,其具体有体积小、内容好、耐玩、娱乐性高、无年龄层次、能修改难度、有益身心健康、数量多、玩法丰富新颖等特色。
恥諤銪灭萦欢煬鞏鹜錦。
1.4Flash游戏的发展方向
Flash被称为是“最为灵活的前台”。
由于其独特和时间片段分割(TimeLine)和重组(MC嵌套)技术,结合ActionScitp的对象和流程控制。
使得在灵活的界面设计和动画设计中成为可能,但一直还未形成一套在flash中的界面设计理论。
同时它也是最为小巧的前台。
鯊腎鑰诎褳鉀沩懼統庫。
Flash具有跨平台的特性(这点和Java一样),所以无论你处于处于何种平台,只要你安装有支持的flashPlayer。
你就能保证它们的最终显示效果都一致。
而不必像在以前的网页设计中那样为IE和Mozilla或NetSpace各设计一个版本。
同Java一样。
它的可移植性很强。
特别是在小型网络中和小型设备中(当然大型网络已不用说),最近具有的手机支持功能可以让你为自已的手机设计你喜爱的功能。
当然你必需要有支持flash的手机。
当然它还可以应用于PocketPC上。
硕癘鄴颃诌攆檸攜驤蔹。
目前利用FLASH开发出了许多夸平台的网络游戏,甚至可以匹敌大型MMOR,在3G时代到来以后,我们很快可以在手机上玩到大型网络游戏,现有的FLASH制作网络游戏有:
SLG类(热血三国),体育类(热血球球),RPG类(凡人修真),桌面(德州扑克),TD类(保卫家园)等等.阌擻輳嬪諫迁择楨秘騖。
FLASH小游戏的流行
FLASH是开发的网页富媒体及强交互技术,最初用来研发交互式或动画网站组件,近几年获得了突飞猛进的发展。
根据Adobe公司的统计,其互联网PC桌面普及率达到了惊人的99%,而JAVA为85.1%。
目前FLASH更在大力向PDA及智能手机终端发展。
氬嚕躑竄贸恳彈瀘颔澩。
FLASH技术包含一套可编程脚本解析器,称为ActionScript,使用与Java及Javascript类似语法,可以控制FLASH动画,实现多种交互功能。
AS3.0更支持了Socket联网功能,使得开发大型交互式网页游戏成为可能。
凭借ActionScript2.0及ActionScript3.0的出色表现,FLASH技术成为了绝大多数小游戏开发的技术基础。
FLASH的解析器,称为FlashPlayer,体积十分小巧。
不仅可以支持流行的IE浏览器,还可以支持Firefox,Opera,Safari等多款浏览器,用户下载安装非常方便。
这也是Flash小游戏流行的重要原因之一。
釷鹆資贏車贖孙滅獅赘。
第二章游戏设计思路
2.1游戏的框架
游戏分为片头,游戏选择主界面和游戏界面。
片头动画播放完后,进入游戏选择画面,由玩家自主选择试玩的游戏。
怂阐譜鯪迳導嘯畫長凉。
2.2游戏的组成
1.片头:
利用影片导入和插入关键帧来制作片头特效。
2.游戏主界面:
在片头结束之后自动播放游戏主界面,游戏主界面提供需要试玩的游戏的选择按钮。
分为打鸟,大鸭子两种。
谚辞調担鈧谄动禪泻類。
3.游戏一:
打鸟。
游戏开始后,会有鸟从右侧飞出,玩家控制准心点击飞行的鸟,将其击落。
此游戏没有时间限制,分数也没有上限,直至玩家自行退出,属于无聊发泄型游戏。
嘰觐詿缧铴嗫偽純铪锩。
4.游戏二:
打鸭子。
游戏开始后,进入3秒倒计时,倒计时结束,在水中游的鸭子就会起飞,这时玩家可以控制准心打击飞起的鸭子,击落1只得一分。
游戏开始后会进入30秒计时,时间到则游戏结束。
熒绐譏钲鏌觶鷹緇機库。
2.3场景间的转换
1.主要用到gotoAndPlay动作。
on(release){
Mouse.show();//把玩游戏时隐藏的鼠标再显示出来
delete_root.onEnterFrame;
for(i=1;i<100;i++)
this["mc"+i].removeMovieClip();//删除在游戏里创建的MC
_root.mc.swapDepths
(1);//交换深度,深度设为正的才能删除
removeMovieClip(_root.mc);//删除游戏里创建的MC
gotoAndPlay("过场",1);//跳转到过场1的第一帧
}
2.在游戏一到主场景,游戏二到主场景之间切换时,为其加入了一个过场动画,增加美观性。
第三章Flash游戏的功能实现
3.1打鸟
1.鸟儿飞行动画。
如鸟儿飞行元件,在网上找到鸟儿飞行的逐帧动画素材,导入后作为元件鶼渍螻偉阅劍鲰腎邏蘞。
2.鸟儿击落动画
鸟儿击落元件,对逐帧动画进行分裂,作为击落鸟儿时的动画纣忧蔣氳頑莶驅藥悯骛。
3.准心元件的建立
新建元件,画出准心的形状
4.主场景
1)在主场景第一帧添加代码:
for(i=1;i<=5;i++){
_root["face"].duplicateMovieClip("face"+i,i+1000,face);//复制face元件颖刍莖蛺饽亿顿裊赔泷。
}
varscore=0;//定义分数从0开始
stop();
2)将小鸟元件拖入主场景,并添加代码:
onClipEvent(load){
functionreset(){
if(this._name=="face"){
this._visible=false;
}
else{
this._visible=true;
}
this.dead=0;
this.speed=random(4)+5;//小鸟飞行速度
this._x=600;
this._y=random(400);//定义小鸟随机飞行坐标
}
this.reset();
}
onClipEvent(enterFrame){
this._x-=this.speed;
if(this._x<-100){
this.reset();//小鸟超出屏幕范围后重置
}}
3)将准心元件拖入主场景,并添加代码:
onClipEvent(load){
startDrag(this,true);
Mouse.hide();
this.swapDepths(9999);//在场景上生成MC,隐藏鼠标,并定义MC深度
}
onClipEvent(mouseDown)//鼠标按下动作{
playsounds=newSound(this);
playsounds.attachSound("Gun_s");
playsounds.start(0,1);//播放枪声
for(i=1;i<=5;i++){
if(this.hitTest(_root["face"+i])&&_root["face"+i].dead==0)濫驂膽閉驟羥闈詔寢賻。
{
_root.score+=10;//打中小鸟加分
_root["face"+i].gotoAndPlay
(2);//继续生成小鸟
}}}
3.1打鸭子
1.飞行的鸭子
通过逐帧动画画出一只飞行的鸭子,
2.击落的鸭子
用逐帧动画画出鸭子被击落的样子,
3.游动的鸭子
画出来回游动中的鸭子的逐帧动画,
4.准心
画出准心
5.子弹发射动画
画出子弹从近到远发射的补间动画,
6.主场景
1)Action层为动作层
第一帧
stop();
readytime=0;
ready=3;
timer=0;
time=0;
_root.onEnterFrame=function(){
readytime++;
ready=3-int(readytime/5);//游戏开始后进行一个倒计时
if(ready==0){
gotoAndStop
(2);//倒计时结束,跳转到第二帧,游戏开始
delete_root.onEnterFrame;
}};
第二帧
stop();
Mouse.hide();//隐藏鼠标
score=0;//计分器从0开始
functionfirstPos(){
_root.bird._x=50+random(450);
_root.bird._y=370;
dirX=random(5)-random(6);//小鸟飞飞
}
_root.target.onMouseMove=function(){
this._x=_root._xmouse;
this._y=_root._ymouse;
updateAfterEvent();//瞄准镜跟随鼠标
};
_root.target.onEnterFrame=function(){
time++;
_root.timer=30-int(time/30);
if(_root.timer==0){
_root.gotoAndPlay("打鸭子",3);//倒计时
}};
_root.target.onMouseDown=function()//鼠标按下动作{
playsounds=newSound(this);
playsounds.attachSound("Gun_s");
playsounds.start(0,1);//播放枪声
_root.tan._x=_root._xmouse;
_root.tan._y=_root._ymouse;
_root.tan.play();//子弹跟随鼠标
_root.onEnterFrame=function(){
if(_root.tan._currentframe==10){
hit=_root.tan.hitTest(_root.bird);
if(hit){
firstPos();
_root.score++;
with(_root.diebird){
_x=_root.tan._x;
_y=_root.tan._y;
gotoAndPlay
(2);
}}}};};//发射子弹
_root.bird.onEnterFrame=function(){
if(_root.bird._y<0||_root.bird._x<0||_root.bird._x>550){銚銻縵哜鳗鸿锓謎諏涼。
firstPos();
}else{
_root.bird._y-=(5+random
(2));
_root.bird._x+=dirX;
}};
第三帧
stop();
_root.replay.onEnterFrame=function(){
if(_root.tan._currentframe==10){
hit2=_root.replay.hitTest(_root.tan);
if(hit2){
_root.gotoAndStop
(1);
}
}
}//点击replay重新开始游戏
2)TIMER层为计时器,游戏开始后倒计时30秒。
3)成绩栏用来记录游戏中得到的分数
4)子弹层为子弹元件所在层
第四章总结
对三个小游戏的制作中我进一步了解到了Flash具体功能,从逐帧动画的元件的转换利用,从脚本代码的编写到函数语句的运用,从引导层与遮罩层的相互利用,让我认识到制作一个游戏并不是那样的简单,这期间遇到了很多不会的知识,和难以编写的代码,但通过老师,同学,以及书本网络的帮助,慢慢的解决了这些难点。
挤貼綬电麥结鈺贖哓类。
参考文献
[1]罗小燕,flash动画与卡通制作创意导航。
北京,清华大学出版社,2002。
[2]高志清,flash动画制作零点飞跃——学设计零点飞跃丛书。
水利水电出版社,2005
[3]李琼。
Flash8.0闪客动画轻松现场实战。
航空工业出版社,2007.
[4]德汉,周辉,flashMX2004网页动画制作标准教材。
电子工业出版社,2004
[5]赵子江,变形动画制作教程。
北京,机械工业出版社,2000
[6]赵国志,赵璐,色彩构成于绘画设计艺术。
辽宁,美术出版社,2000
[7]瑞哈特(美),曹铭。
FlashMX宝典。
电子工业出版社,2003
[8]雪之航工作室,flashMX中文版技巧与实例。
中国铁道出版社,2003
[9]陈青,flashMX2004标准案例教材。
人民邮电出版社。
2006
谢辞
在此次Flash游戏的制作中,涉及方面很多注意的细节也很多要求有较清晰的思路将每个动画元件的加载,从制作中了解了脚本游戏对于函数要求的严密性。
每一个场景,每一个游戏打的制作都必须具备Flash基本操作,但是在不同的方面所侧重的知识技能技巧是不同的,我从对于自己作品的制作中深有体会,这也是我对毕业设计的最深体会。
赔荊紳谘侖驟辽輩袜錈。
通过这次的毕业设计,了解到Flash的基本操作,Flash动画的三大基本功能是一切Flash动画应用的基础,其实我对Flash制作代码方面的专业知识不太懂,在设计上所用到代码有很多都是最简单常用的代码,在网上看Flash大师的站点构思,设计想法,在每个涉及到细节,我都找了许多相关资料,也许做的不够好,但今后我会努力塤礙籟馐决穩賽釙冊庫。