完整版基于Flash的俄罗斯方块毕业设计.docx
- 文档编号:26700748
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:31
- 大小:276.36KB
完整版基于Flash的俄罗斯方块毕业设计.docx
《完整版基于Flash的俄罗斯方块毕业设计.docx》由会员分享,可在线阅读,更多相关《完整版基于Flash的俄罗斯方块毕业设计.docx(31页珍藏版)》请在冰豆网上搜索。
完整版基于Flash的俄罗斯方块毕业设计
石家庄科技信息职业学院
毕业论文
题目:
基于Flash的俄罗斯方块
姓名:
蒋雨乘
专业班级:
软件技术(游戏方向)09-24班
指导教师:
刘永伟
基于FLASH的俄罗斯方块
摘要:
Flash是美国的一家公司(MACROMEDIA公司)于1996年6月推出的优秀网页动画设计软件,在中国经历了9年的发展时间。
曾经在中国风云一时,出现了FALSH热。
由于动漫也成为一种时尚的艺术,而且最直接简单的动画创作是就FLASH。
我认为它可以自成体系,有它自己独特的表现方法.手段和流通方式及“闪客”生活。
甚至我认为它是现代文明的一种符号,新新艺术创作方式,是一种流行于网络的网络文化。
FLASH作为新的事物它的应用非常广泛,主要用于网络,FLASH网站片头,FLASH演示动画,FLASH网站,FLASH商业广告,电视,掌上电脑,游戏,MTV,手机屏保,手机彩信,家用电器等等!
这些表示FLASH的确是一个非常好的传播载体。
它能够引申出非常多的商业机会。
能够以多样的效果和形式来充分体现产品或企业形象。
现在电脑,网络,手机用户等等都是在不断的增加,网络的发展壮大和完美,电脑更加普及,上网的人更多。
正因为它有怎么多的用户,爱好者,创作者和发展平台,使用价值和欣赏价值。
我认为FLASH真正的价值是其未来!
它是一种新新事物,是一种新的艺术创作和文化。
本文将介绍如何利用FLASH设计和开发俄罗斯方块游戏。
关键词:
FLASH;发展;游戏;应用;
第一章引言4
1.1Flash概述4
1.2FLASH发展4
1.3Flash的特点6
第二章FLASH版俄罗斯方块游戏开发前期工作7
2.1FLASH程序界面介绍7
2.2FLASH程序常用快捷键介绍10
2.3初识ActionScript12
2.4Photoshop基本概念知识13
2.5FLASH版俄罗斯方块设计思路15
第三章FLASH版俄罗斯方块游戏开发16
3.1俄罗斯方块游戏背景设计16
3.2俄罗斯方块游戏方块形状设计18
3.3俄罗斯方块游戏操作设计23
第四章FLASH版俄罗斯方块游戏开发心得31
参考文献31
第一章引言
1.1Flash概述
Flash 由macromedia公司推出的交互式矢量图和 Web 动画的标准。
网页设计者使用 Flash 创作出既漂亮又可改变尺寸的导航界面以及其他奇特的效果。
flash涉及到的领域:
动画游戏制作,网络构件,学习课件,网站广告设计及全flash网站,工控界面等等。
主要特点是制作简单,通用性比较大,涉及的领域多,制作出的东西效果都可以做到非常精致。
缺点在于有些效果需要别的软件辅助制作等等,不是所有效果都能制作出来。
(比如些3d效果,flash就很难制作,只能通过导入的方式或者帧并帧的方式)
FLASH有三重意义:
1) FLASH英文本意为“闪光”;2)它是全球流行的电脑动画设计软件;3)它代表用上述软件制作的流行于网络的动画作品。
Flash是一种交互式矢量多媒体技术,他的前身是Futureplash,早期网上流行的矢量动画插件。
后来由于Macromedia公司收购了Future Splash以后便将其改名为 Flash2,到现在最新的flashcs3。
现在网上已经有成千上万个Flash站点,著名的如Macromedia专门ShockRave站点,全部采用了Shockwave Flash 和Director。
可以说Flash已经渐渐成为交互式知量的标准,未来网页的一大主流。
本文将借助FLASH里的ActionScript来设计并完成游戏俄罗斯方块的开发。
1.2FLASH发展
Flash最早期的版本称为FutureSplashAnimator,当时FutureSplashAnimator最大的两个用户是微软(Microsoft)和迪斯尼(Disney)。
1996年11月,FutureSplashAnimator卖给了MM(M),同时改名为Flash1.0。
这里不得不提到的人物是乔纳森?
盖伊(JonathanGay),是他和他的六人小组首先创造了FutureSplashAnimator,也就是现在Flash的真正前身了。
Macromedia公司在1997年6月推出了Flash2.0,1998年5月推出了Flash3.0。
但是这些早期版本的Flash所使用的都是Shockwave播放器。
自Flash进入4.0版以后,原来所使用的Shockwave播放器便仅供Director使用。
Flash4.0开始有了自己专用的播放器,称为“FlashPlayer”,但是为了保持向下相容性,Flash仍然沿用了原有的扩展名:
.SWF(ShockwaveFlash)。
2000年8月Macromedia推出了Flash5.0,它所支持的播放器为FlashPlayer5。
Flash5.0中的ActionScript已有了长足的进步,并且开始了对XML和SmartClip(智能影片剪辑)的支持。
ActionScript的语法已经开始定位为发展成为一种完整的面向对象的语言,并且遵循ECMAScript的标准,就像javascript那样。
1.3FLASH的发展方向
Flash被称为是“最为灵活的前台”,由于其独特的时间片段分割(TimeLine)和重组(MC嵌套)技术,结合ActionScitp的对象和流程控制,使得在灵活的界面设计和动画设计成为可能,同时它也是最为小巧的前台。
Flash具有跨平台的特性(这点和Java一样),所以无论你处于何种平台,只要你安装了支持的FlashPlayer,就可以保证它们的最终显示效果的一致,而不必像在以前的网页设计中那样为IE或NetSpace各设计一个版本。
同Java一样,它有很强的可移植性。
最新的Flash还具有的手机支持功能,可以让用户为自己的手机设计喜爱的功能。
当然首先必需要有支持Flash的手机,同时它还可以应用于PocketPC。
那么,Flash可能的发展方向究竟如何?
1、应用程序开发:
由于其独特的跨平台特性、灵活的界面控制以及多媒体特性的使用,使得用Flash制作的应用程序具有很强的生命力。
在与用户的交流方面具有其它任何方式都无可比拟的优势。
当然,某些功能可能还要依赖于XML或者其它诸如javascript的客户端技术来实现。
但目前的现状是:
很少有人具有运用Flash进行应用程序开发这方面的经验。
但这个难度会随着时间的推移而逐步减弱。
事实上,对于大型项目而言,使用Flash此时未免有些言之过早,因为它意味着很大的风险。
当然,在最早的时间掌握和积累这方面的经验无疑是一种很大的竞争力。
可以将这种技术运用在项目中的一小部分或者小型项目中,以减少开发的风险。
2、软件系统界面开发:
Flash对于界面元素的可控性和它所表达的效果无疑具有很大的诱惑。
对于一个软件系统的界面,Flash所具有的特性完全可以为用户提供一个良好的接口。
3、手机领域的开发:
手机领域的开发将会对精确(像素级)的界面设计和CPU使用分布的操控能力有更高的要求,但同时也意味着更加更广泛的使用空间。
事实上手机和PocketPC的分界已越来越不明显,开发者必须为每一款手机(或PocketPC)设计一个不同的界面,因为它们的屏幕大小各有不同。
当然软件的内核可能是相同的,所要注意的是各类手机CPU的计算能力和内存的大小。
这无疑是些很苛刻的要求。
4、游戏开发:
事实上,Flash中的游戏开发已经进行了多年的尝试。
但至今为止仍然停留在中、小型游戏的开发上。
游戏开发的很大一部份都受限于它的CPU能力和大量代码的管理。
不过可喜的是,FlashPlayer7运行时性能提高了2至5倍;而且最新的FlashMX2004Professional提供了项目管理和代码维护方面的功能,Actionscript2.0的发布也使得程序更加容易维护和开发。
5、Web应用服务:
其实很难界定Web应用服务的范围究竟有多大,它似乎它拥有无限的可能。
随着网络的逐渐渗透,基于客户端-服务器的应用设计也开始逐渐受到欢迎,并且一度被誉为最具前景的方式。
但是,这种方式开发者可能要花更多的时间在服务器后台处理能力和架构上,并且将它们与前台(Flash端)保持同步。
6、站点建设:
事实上,现在只有极少数人掌握了使用Flash建立全Flash站点的技术。
因为它意味着更高的界面维护能力和开发者整站架构能力。
但它带来的好处也异常明显:
全面的控制;无缝的导向跳转;更丰富的媒体内容;更体贴用户的流畅交互;跨平台和瘦客户端的支持;以及与其它Flash应用方案无缝连接集成等。
7、多媒体娱乐:
其实,在这个方面无需再说什么。
尽管它的发展速度没有像当初预言的那样迅速,但它仍然还在不断前进。
Flash本身就以多媒体和可交互性而广为推崇。
它所带来亲切氛围相信每一位用户都会喜欢。
flash影片的后缀名为.swf,该类型文件必须有flash播放器才能打开,但占用硬盘空间少,所以现在被广泛应用于游戏。
1.3FLASH的特点
1.Flash动画受网络资源的制约一般比较短小,利用Flash制作的动画是矢量的,无论把它放大多少倍都不会失真。
2.Flash动画具有交互性优势,可以更好地满足所有用户的需要。
它可以让欣赏者的动作成为动画的一部分。
用户可以通过点击、选择等动作,决定动画的运行过程和结果,这一点是传统动画所无法比拟的。
3.Flash动画可以放在网上供人欣赏和下载,由于使用的是矢量图技术,具有文件小、传输速度快、播放采用流式技术的特点,因此动画是边下载边播放,如果速度控制得好,则根本感觉不到文件的下载过程。
所以Flash动画在网上被广泛传播。
4.Flash动画有崭新的视觉效果,比传统的动画更加轻易与灵巧,更加“酷”。
不可否认,它已经成为一种新时代的艺术表现形式。
5.Flash动画制作的成本非常低,使用Flash制作的动画能够大大地减少人力、物力资源的消耗。
同时,在制作时间上也会大大减少。
6.Flash动画在制作完成后,可以把生成的文件设置成带保护的格式,这样维护了设计者的版权利益。
第二章FLASH版俄罗斯方块游戏开发前期工作
2.1FLASH程序界面介绍
在使用Flash8.0制作俄罗斯方块游戏之前我们首先来认识一下它的界面。
我们在制作时需要新建一个FLASH文档,就要打开新建文档界面,如图1所示。
在我们新建好空的flash文档后我们就能看见flash的基本工作台,如图2所示,今后我们的设计和开发将在工作台上进行。
Flash8的工作窗口由标题栏、菜单栏、主要工具栏、文档选项卡、编辑栏、时间轴、舞台工作区、工具箱以及各种面板组成。
而主菜单命令有:
文件、编辑、视图、插入、修改、文本、命令、控制、窗口和帮助等。
在工作台中间的上方为时间轴,时间轴是用于组织和控制文档内容在一定时间内播放的图层数和帧数。
时间轴的主要组件是图层、帧和播放头。
文档中的图层列在时间轴左侧的列中。
每个图层中包含的帧显示在该图层名右侧的一行中。
时间轴顶部的时间轴标题指示帧编号。
播放头指示当前在舞台中显示的帧。
播放 Flash 文档时,播放头从左向右通过时间轴。
当时间轴状态显示在时间轴的底部,它指示所选的帧编号、当前帧频以及到当前帧为止的运行时间,时间轴左侧是图层,图层就像堆叠在一起的多张幻灯胶片一样,在舞台上一层层地向上叠加。
如果上面一个图层上没有内容,那么就可以透过它看到下面的图层。
Flash中有普通层、引导层、遮罩层和被遮罩层4种图层类型,为了便于图层的管理,用户还可以使用图层文件夹。
如图3所示。
时间轴下方是舞台,舞台就是我们所说的工作区,Flash8扩展了舞台的工作区,可以在上面存储更多的项目。
舞台是放置动画内容的矩形区域,这些内容可以是矢量图、文本框、按钮、导入的位图图形或视频剪辑等,只有放置舞台工作区的对象才能作为影片输出或打印。
如图4所示。
图1建立文档界面
图2FLASH的基本工作环境
图3时间轴界面
2.2FLASH程序快捷键介绍
在我们开发游戏之前先介绍一下FLASH程序有哪些快捷以便于我们能够更好更快的开发我们的游戏。
常见快捷键如下:
1.工具
箭头工具【V】 部分选取工具【A】 线条工具【N】
套索工具【L】 钢笔工具【P】 文本工具【T】
椭圆工具【O】 矩形工具【R】 铅笔工具【Y】
画笔工具【B】 任意变形工具【Q】 填充变形工具【F】 墨水瓶工具【S】 颜料桶工具【K】 滴管工具【I】
橡皮擦工具【E】 手形工具【H】 缩放工具【Z】,【M】
2.菜单命令
新建FLASH文件【Ctrl】+【N】
打开FLA文件【Ctrl】+【O】
作为库打开【Ctrl】+【Shift】+【O】
关闭【Ctrl】+【W】
保存【Ctrl】+【S】
另存为【Ctrl】+【Shift】+【S】
导入【Ctrl】+【R】
导出影片【Ctrl】+【Shift】+【Alt】+【S】
发布设置【Ctrl】+【Shift】+【F12】
发布预览【Ctrl】+【F12】
发布【Shift】+【F12】
打印【Ctrl】+【P】
退出FLASH【Ctrl】+【Q】
撤消命令【Ctrl】+【Z】
剪切到剪贴板【Ctrl】+【X】
拷贝到剪贴板【Ctrl】+【C】
粘贴剪贴板内容【Ctrl】+【V】
粘贴到当前位置【Ctrl】+【Shift】+【V】
清除【退格】
复制所选内容【Ctrl】+【D】
全部选取【Ctrl】+【A】
取消全选【Ctrl】+【Shift】+【A】
剪切帧【Ctrl】+【Alt】+【X】
拷贝帧【Ctrl】+【Alt】+【C】
粘贴帧【Ctrl】+【Alt】+【V】
清除贴【Alt】+【退格】
选择所有帧【Ctrl】+【Alt】+【A】
编辑元件【Ctrl】+【E】
首选参数【Ctrl】+【U】
转到第一个【HOME】
转到前一个【PGUP】
转到下一个【PGDN】
转到最后一个【END】
放大视图【Ctrl】+【+】
缩小视图【Ctrl】+【-】
100%显示【Ctrl】+【1】
缩放到帧大小【Ctrl】+【2】
全部显示【Ctrl】+【3】
按轮廓显示【Ctrl】+【Shift】+【Alt】+【O】
高速显示【Ctrl】+【Shift】+【Alt】+【F】
消除锯齿显示【Ctrl】+【Shift】+【Alt】+【A】
消除文字锯齿【Ctrl】+【Shift】+【Alt】+【T】
显示隐藏时间轴【Ctrl】+【Alt】+【T】
显示隐藏工作区以外部分【Ctrl】+【Shift】+【W】
显示隐藏标尺【Ctrl】+【Shift】+【Alt】+【R】
2.3初识ActionScript
1.简介
ActionScript是针对AdobeFlashPlayer运行时环境的编程语言,它在Flash内容和应用程序中实现了交互性、数据处理以及其它许多功能。
ActionScript是由FlashPlayer中的ActionScript虚拟机(AVM)来执行的。
ActionScript代码通常被编译器编译成"字节码格式"(一种由计算机编写且能够为计算机所理解的编程语言),如AdobeFlashCS3Professional或Adobe®Flex?
Builder?
的内置编译器或Adobe®Flex?
SDK和Flex?
DataServices中提供的编译器。
字节码嵌入SWF文件中,SWF文件由运行时环境FlashPlayer执行。
ActionScript3.0提供了可靠的编程模型,具备面向对象编程的基本知识的开发人员对此模型会感到似曾相识。
ActionScript3.0中的一些主要功能包括:
一个新增的ActionScript虚拟机,称为AVM2,它使用全新的字节码指令集,可使性能显著提高
一个更为先进的编译器代码库,它更为严格地遵循ECMAScript(ECMA262)标准,并且相对于早期的编译器版本,可执行更深入的优化
一个扩展并改进的应用程序编程接口(API),拥有对对象的低级控制和真正意义上的面向对象的模型
一种基于即将发布的ECMAScript(ECMA-262)第4版草案语言规范的核心语言
一个基于ECMAScriptforXML(E4X)规范(ECMA-357第2版)的XMLAPI。
E4X是ECMAScript的一种语言扩展,它将XML添加为语言的本机数据类型。
一个基于文档对象模型(DOM)第3级事件规范的事件模型
2.ActionScript3.0的优点
ActionScript3.0的脚本编写功能超越了ActionScript的早期版本。
它旨在方便创建拥有大型数据集和面向对象的可重用代码库的高度复杂应用程序。
虽然ActionScript3.0对于在AdobeFlashPlayer9中运行的内容并不是必需的,但它使用新型的虚拟机AVM2实现了性能的改善。
ActionScript3.0代码的执行速度可以比旧式ActionScript代码快10倍。
旧版本的ActionScript虚拟机AVM1执行ActionScript1.0和ActionScript2.0代码。
为了向后兼容现有内容和旧内容,FlashPlayer9支持AVM1。
ActionScript3.0中的新增功能
虽然ActionScript3.0包含ActionScript编程人员所熟悉的许多类和功能,但ActionScript3.0在架构和概念上是区别于早期的ActionScript版本的。
ActionScript3.0中的改进部分包括新增的核心语言功能,以及能够更好地控制低级对象的改进FlashPlayerAPI.
2.4Photoshop基本概念知识
Photoshop:
它是由Adobe公司开发的图形处理系列软件之一,主要应用于在图像处理、广告设计的一个电脑软件。
最先它只是在Apple机(MAC)上使用,后来也开发出了forwindow的版本。
下面是这个软件里一些基本的概念。
位图:
又称光栅图,一般用于照片品质的图像处理,是由许多像小方块一样的"像素"组成的图形。
由其位置与颜色值表示,能表现出颜色阴影的变化。
在Photoshop主要用于处理位图。
矢量图:
通常无法提供生成照片的图像物性,一般用于工程技术绘图。
如灯光的质量效果很难在一幅矢量图表现出来。
分辨率:
每单位长度上的像素叫做图像的分辨率,简单讲即是电脑的图像给读者自己观看的清晰与模糊,分辨率有很多种。
如屏幕分辨率,扫描仪的分辨率,打印分辨率。
图像尺寸与图像大小及分辨率的关系:
如图像尺寸大,分辨率大,文件较大,所占内存大,电脑处理速度会慢,相反,任意一个因素减少,处理速度都会加快。
通道:
在PS中,通道是指色彩的范围,一般情况下,一种基本色为一个通道。
如RGB颜色,R为红色,所以R通道的范围为红色,G为绿色,B为蓝色。
图层:
在PS中,一般多是用到多个图层制作每一层好象是一张透明纸,叠放在一起就是一个完整的图像。
对每一图层进行修改处理,对其它的图层不含造成任何的影响。
图像的色彩模式:
1)RGB彩色模式:
又叫加色模式,是屏幕显示的最佳颜色,由红、绿、蓝三种颜色组成,每一种颜色可以有0-255的亮度变化。
2)CMYK彩色模式:
由品蓝,品红,品黄和黑色组成,又叫减色模式。
一般打印输出及印刷都是这种模式,所以打印图片一般都采用CMYK模式。
3)HSB彩色模式:
是将色彩分解为色调,饱和度及亮度通过调整色调,饱和度及亮度得到颜色和变化。
4)Lab彩色模式:
这种模式通过一个光强和两个色调来描述一个色调叫a,另一个色调叫b。
它主要影响着色调的明暗。
一般RGB转换成CMYK都先经Lab的转换。
5)索引颜色:
这种颜色下图像像素用一个字节表示它最多包含有256色的色表储存并索引其所用的颜色,它图像质量不高,占空间较少。
6)灰度模式:
即只用黑色和白色显示图像,像素0值为黑色,像素255为白色。
7)位图模式:
像素不是由字节表示,而是由二进制表示,即黑色和白色由二进制表示,从而占磁盘空间最小。
2.5FLASH版俄罗斯方块设计思路
首先我们利用photoshop制作和处理一张图片作为我们游戏的背景图片,制作好后,打开FLASH软件新建FLASH文档,文档建立好后,将制作好的背景图片导入到舞台,作为游戏的背景,最后也是最重要ActionScript代码的设计和开发。
代码设计中我们首先进行游戏的界面设计,我们需要将游戏界面分为两部分,一部分是游戏方块叠加部分,一部分是游戏的分数部分,界面设计好后进行俄罗斯方块游戏中方块形状的设计和定义以及游戏在运行过程中方块的叠加和消行加分设计,然后我们设计和开发游戏的初识状态及游戏运行过程中用户对方块的变形和移动操作。
第三章FLASH版俄罗斯方块游戏开发
3.1俄罗斯方块游戏界面设计
游戏界面是用户能够直接看到的部分,也是最直观的部分。
我们首先先建一个空白的FLASH文档,文档建立好后我们将制作好的图片导入到舞台中央作为游戏的背景,然后在帧1处利用ActionScript进行游戏的界面设计,具体的代码如下:
N=20;
//行数
WIDTH=20;
//方块边长
level=0;
//开始等级(下落速度)
ret=newArray();
//当前出现的方块
nextret=newArray();
//下一个出现的方块
bg=newArray();
//背景数组
//所有方块都在此mc里
for(i=0;i<5;i++){
//初始化方块数组,2*5格式,前四行代表每个方块的4个小块的位置坐标,最后一行第一列是方块形状,第二列是方块旋转方向
ret.push(newArray
(2));
nextret.push(newArray
(2));
}
for(i=0;i<20;i++){
//初始化背景数组,10*20格式
bg.push(newArray(10));
}
X=Y=panel._x=panel._y=0;
//换为X、Y表示
functionreach(x:
Number,y:
Number,ret:
Object){
//x、y为方块位置,ret为方块形状,若方块ret下落一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 基于 Flash 俄罗斯方块 毕业设计