Flash于as3。0毕业论文
摘要
1、绪论
1、flash概叙
2、Flash相关技术介绍
1、什么是flash动画
2、ActionScript语言历史简谈
1、ActionScript3
2、ActionScript3的优点
3、XML介绍
1、XML格式
3、为什么要在Flash中添加上AS语言呢?
1、简单的流星雨
2、简单的流星雨(as)
1、把库中的元件加载到舞台上
2、AS3的事件侦听机制
3、在AS3中改变对象的位置和缩放对象
4、演示
3、XML的运用
1、新建FLASH
2、创建viewer。as的类
3、创建pics,xml的文件
4、总结
5、致谢
6、参考文献
AS3。0语言在Flash编程中的应用
学生:何万凯
指导教师:谢艳萍
摘要
XML是ExtensibleMarkupLanguage(可扩展标记语言)的缩写,是一种表示结构化信息的标准方法,因其简单、灵活且易于读取、访问及处理,尤其因为在数据交换和可移植等方面具有优势,已成为事实上的工业标准。它可以使计算机方便地操作各类信息,并且人们可以非常方便地编写和理解这些信息。它让AS3。0与flash连得更加亲密。
关键词:结构化信息;服务器;策略文件;远程过程调用;信息检索;过滤器;
FlashintheapplicationAS3。0programming
languagestudy
Name:HeWanKai
Supervisor:XieYanPing
Abstract
XMLisExtensibleMarkupLanguage(canexpandsignlanguage)abbreviate,itisakindofstandardmeansthatrepresentsstructurednews,becauseitsaresimple,agileandreadeasilytake,visitandprocessing,becauseexchangeandcantransplantindata,waitforarespecttohaveanadvantageespecially,alreadybecameinfactindustrialstandard。Itcanmakethecomputerhandlesofallkindsinformationconveniently,andpeopleisveryOKbewrittenconvenientlyandunderstandthesemessage。
Keywords:Structuredinformation;Theserver。Strategyfile;Remoteprocedurecalls;
Informationretrieval;Filters
绪论
FLASH概述
Flash由macromedia公司推出的交互式矢量图和Web动画的标准。网页设计者使用Flash创作出既漂亮又可改变尺寸的导航界面以及其他奇特的效果。
flash涉及到的领域:动画游戏制作,网络构件,学习课件,网站广告设计及全flash网站,工控界面等等。主要特点是制作简单,通用性比较大,涉及的领域多,制作出的东西效果都可以做到非常精致。缺点在于有些效果需要别的软件辅助制作等等,不是所有效果都能制作出来。(比如些3d效果,flash就很难制作,只能通过导入的方式或者针并针的方式)
FLASH有三重意义:1)FLASH英文本意为闪光;2)它是全球流行的电脑动画设计软件;3)它代表用上述软件制作的流行于网络的动画作品。Flash是一种交互式矢量多媒体技术,他的前身是Futureplash,早期网上流行的矢量动画插件。后来由于Macromedia公司收购了FutureSplash以后便将其改名为Flash2,到现在最新的flashcs5。现在网上已经有成千上万个Flash站点,著名的如Macromedia专门ShockRave站点,全部采用了ShockwaveFlash和Director。可以说Flash已经渐渐成为交互式质量的标准,未来网页的一大主流。
Flash最早期的版本称为FutureSplashAnimator,当时FutureSplashAnimator最大的两个用户是微软(Microsoft)和迪斯尼(Disney)。1996年11月,FutureSplashAnimator卖给了MM(Macromedia。com),同时改名为Flash1。0。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那样。2002年3月Macromedia推出了FlashMX支持的播放器为FlashPlayer6。Flash6开始了对外部jpg和MP3调入的支持,同时也增加了更多的内建对象,提供了对HTML文本更精确的控制,并引如SetInterval超频帧的概念。同时也改进了swf文件的压缩技术。之后Macromedia有相继推出了Flash8,Flash9及现在的FlashCS5。相信Flash的软件以后还会在不断的更新,还有ActionScript语言也随着Flash的进步而改变,使其更加完美。
2、Flash相关技术介绍
2。1什么是Flash动画
动画是将静止的画面变为动态的艺术实现由静止到动态,主要是靠人眼的视觉残留效应利用人的这种视觉生理特性可制作出具有高度想象力和表现力的动画影片。动画以人类视觉的原理为基础。如果快速查看一系列相关的静态图像,那么我们会感觉到这是一个连续的运动。每一个单独图像称之为帧。帧是动画电影中的单个图像。
动画片中的动画一般也称为中间画这是指两张原画的中间过程而言的动画片动作的流畅、生动,关键要靠中间画的完善一般先由原画设计者绘制出原画,然后动画设计者根据原画规定的动作要求以及帧数绘制中间画原画设计者与动画设计者必须有良好的配合才能顺利完成动画片的制作。
2。2ActionScript语言历史简谈
ActionScript语言最早出现在FlashPlayer4中,是用来进行简单的交互性脚本,并不是很复杂。而在Flash5就出现了ActionScript1,他就具备ECMAScript标准语法格式和语义解释。直到ActionScript2。ActionScript2可以说是ActionScript1的编程包装版。在ActionScript2中已经有良好的类型声明,还把编译与运行时的异常分离出来。
虽然ActionScript2对OOP语言远远谈不上全面,但在FLASHMX时候,已经深受广大的开发者接受。在2005年,Macromedia引入了flashplayer8,基于ActionScript2中的RIA开始新的热潮,并改进了外部API之间的flash至游览器。还可以为复杂应用文件上传和下载有很大贡献。FlashPlater在历史上是最快被采用。为什么呢?因为ActionScript中有AVM1(ActionScript虚拟机1),它增强了FlsshPlayer8以前的播放功能。
但是,大型项目接连出现,新的需求不断产生,开发人员已经把AVM1推到极限了。这让人们停住了脚步。
经过人们长期不断的努力,FlashPlayer迎来了重大的转折点。就是FlashPlayer9首次引入ActionScript3和新的ActionScript引擎AVM2。。因为有了这引擎,ActionScript3代码执行的速度最多可以比原来的ActionScript代码快10倍。
还有ActionScript3有一个编译模型,更加有效的内存利用。不过为了考虑到向后兼容,在Flashplayer9中还保留着AVM1,也就是说它有两个虚拟机。AVM1和AVM2。
2。2。1ActionScript3
ActionScript3是针对FlashPlayer运行环境的编程语言,允许向程序添加复杂的交互。回放控制和数据显示功能。
2。2。2ActionScript3的优点
这种语言支持类型安全性,使代码维护更轻松。
与其他语言相比,这种语言相当简单,很容易编写。
开发人员可以编写具有高性能的响应性代码。
这种语言向后兼容ActionScript2并向前兼容ECMAScriptforXML(E4X)。
2。3XML介绍
XML是ExtensibleMarkupLanguage(可扩展标记语言)的缩写,是一种表示结构化信息的标准方法,因其简单、灵活且易于读取、访问及处理,尤其因为在数据交换和可移植等方面具有优势,已成为事实上的工业标准。它可以使计算机方便地操作各类信息,并且人们可以非常方便地编写和理解这些信息。它让AS3。0于flash连得更加亲密。
XML在网络或者其他领域都被广泛利用,XML已经成为数据格式的事实标准。有人曾经这样发问过:如果放弃ActionScript2,而选择了ActionScript3。理由是ActionScript3对XML近乎完美的支持这是绝对的。
其实XML是一种类似HTML的标记语言,但和HTML关注方向不一样。XML是被设计用来描述数据的。而HTML是用来显示数据的。XML是一个跨平台,于软件,硬件没有关系的,专注于处理信息数据描述饿工具。
2。3。1XML格式:
现在我们看看XML的格式,其实就像写HTML那样。
lt;?xmlversion1。0encodingUIF8?
HEWANKAI
http:baidu。com
site
baidu
http:baidu。com
website
3、为什么要在Flash中添加上AS语言呢?
其实,在FLASH6就已经开始有AS语言了,但随着时代的进步。有一段时间AS语言就到达了他的极限,经过奋斗中的开发者,不枉他们的心血,AS3从此诞生了。在有ActionScript3语言加入之后的Flash中,使得更为流畅。
3。1简单的流星雨
先来看看没有代码的效果:流星雨
没有代码只有一个一个添加上去,多了就会容易出现错误,疲倦。修改的时候也不方便。
制作步骤:
先导入底图,告诉我们现在天黑啦
流星雨当然要有流星啦,现在制作一个流星和星星。
只要再把元件拖到到舞台。设置一个流星滑落的效果就行啦。
就可以出现前面演示的效果了。大家觉得很简单吧。那问个问题,如果我做一百个流星呢?难道我拖一百次?就算让你拖完一百次。别人说还是改50吧,这时候你会崩溃的。
3。2简单的流星雨(AS)
而下面的是加入了ActionScript3语言的:流星雨AS
先说说下面的例子重要的知识方面:
3。2。1把库中的元件加载到舞台上:
在AS3中,语法就不同在AS2andAS1了。
在AS3中,要先定义好一个类,再声明一个实例。
例子:
varmymc:mylnewmyl();
addChild(mymc);
mymc。x100;
mymc。y100;
这样,库中类名为my1的元件就会显示在舞台上坐标为(100,100)的位置上。
3。2。2AS3的事件侦听机制:
什么是事件呢?当某件事情发生的时候就做些什么事。这个某件事情就是事件。比如:press,当鼠标按下的时候,这就是一个事件。在AS2中,我们有两种方式来实现事件驱动。一种是将代码直接写在元件上(mc或按钮)。比如,在场景中有一个叫mymc的影片剪辑元件,我们在其上点右键,打开动作面板,输入:
on(press){
干点坏事;
}
这样,当我们在mymc元件上按下鼠标时,就会去干点坏事。第二种方法是在帧动作上输入代码:
mymc。onPressfunction(){
干点坏事;
}
这样,当我们在mymc元件上按下鼠标时,同样会去干点坏事。
接下来,我们在AS3中来看看:在元件上点右键,打开动作面板,你会看到无法将动作应用于当前所选内容。在AS3中无法将代码写在元件上,只能写在帧动作上。而AS3的事件侦听,也有它自已,的格式,AS3在事件侦听格式是:
function函数名称(事件对象:事件类型):void
{
此处是为响应事件而执行的动作。
}
触发事件的对象。addEventListener(事件类型。事件名称,函数名称);
必须先声明一个函数,将要执行的代码放在其中,然后触发事件的对象用addEventListener去侦听事件,如果事件发生则调用函数。还用上面那个干坏事的例子。打开帧动作面板,输入:
mymc。buttonModetrue;
functionbad(event:MouseEvent):void{
trace(干点坏事;);
}
mymc。addEventListener(MouseEvent。CLICK,bad);这样,当我们在mymc元件上按下鼠标时,会再一次去干点坏事。上面代码中的MouseEvent是鼠标事件的意思,CLICK是单击的意思,即在元件上单击就会触发事件。
3。2。3在AS3中改变对象的位置和缩放对象:
我们知道,对象在舞台上位置由其x,y轴的坐标来决定。在AS2中有两个属性:x,和y,用来指定对象的x,y坐标,这一点在AS3中也是一样的,只是AS3中去掉了下划线,属性名就叫x,y。比如,在AS2中,要将mymc的位置定在(100,100)处,要这样:
mymc。x100;
mymc。y100;
而在AS3中是这样的:
mymc。x100;
mymc。y100;
在AS2中对象的大小可以用width,height,xscale,yscale四个属性来确定,在AS3中width和height是一样的,不再说它了。AS3用scaleX和scaleY属性取代了xscale,yscale属性。同时它们的值也是有区别的。AS2中的,xscale,yscale属性值是百分比。而AS3中的scaleX和scaleY值是一分比。一分比?这是我发明的,博士专用名词,嘿嘿。scaleX和scaleY值实际就是放大缩小的倍数。比如,在AS2中mymc。xscale30;这是将mymc的宽度缩小到原来的30。
在AS3中mymc。scalex30;这是将mymc的宽度放大到原来的30倍。要将宽度缩小到30,就要用
mymc。scale0。3;
3。2。4演示:
那么现在就开始,同样的,先导入底图
这里有点不一样,在元件中链接要输入一个类名,这是在AS代码中从库中取出来的一个桥梁。
在第一个帧输入代码
代码:
vari:Number1;
addEventListener(Event。ENTERFRAME,xx);
functionxx(event:Event):void{
varxmc:starnewstar();
addChild(xmc);
xmc。xMath。random()1000;
xmc。scaleX0。2Math。random();
xmc。scaleY0。2Math。random();
i;
if(i50){
this。removeChildAt(1);
i50;
}
}
现在就不需要担心上面会出现的效果了,你需要多少颗流星,你只需要把if(i50)改成你需要的数字就行了。
补充一下:
xmc。scaleX0。2Math。random();
xmc。scaleY0。2Math。random();
0。2Math。random();会产生0。21。2间的随机数,这就让流星缩小到20到放大到120间,落下来的流星,大小不一,显得更加真实一些。
removeChildAt(n);是删除已加载的显式对象,其中的n是已加载的对象的索引号。从addEventListener(Event。ENTERFRAME,xx);这一句可以看出,运行一帧,就会从库中加载一颗流星,同时i加,这样当i等于50时,场景中就已有50颗流星了。这个时候我们用this。removeChildAt(1);将最先加载的流星删除。然后将i设为50,到下一帧,i就又大于50了,那么要加载1颗流星,同时又删除了一颗流星,这就达到了一个动态平衡,场景中始终只有50颗流星。要不然,就会流星的数量就越来越多。
从上面的两个例子可以发现,在导入AS3之后,使得FLASH更为简单得实现。
3。3XML的运用
前面讲到XML是用来存放数据的,下面我简单的做一个相册。
制作思路:flashAS类运行导入XML里面的数据运行相册
首先在Flash中布局好需要的材料:
说了相册,当然要有相片啦。但用了XML就不同了,图片不需要放进FLASH的库里面了,他可以独立出来,方便了使用者对图片的修改。
3。3。1新建FLASH
我们先创建一个FLASH。布局好相册的形式。
3。3。2创建viewer。as的类
减小在FLASH里面的代码。使得FLASH的安全有一定的保护。也减小FLASH的容量大小。
之后就在第一帧输入ActionScript代码。他的作用是用来控制输入相册
新建一个类
初始化部分
varmyXMLnewXML();
varmyArraynewArray();
初始化参数设置
varsmallPicWidth50;
varsmallPicHeight50;
varbigPicWidth610;
varbigPicHeight440;
myXML。ignoreWhitetrue;
初始化函数设置
myXML。onLoadfunction(ok)
{
if(ok)
{
global。scrollSpeedmyXML。firstChild。attributes。scrollSpeed;
albumTextmyXML。firstChild。attributes。albumText;
global。gapmyXML。firstChild。attributes。gap;
praseXML();
}
}
函数设置
functionpraseXML()
{
for(vari0;imyXML。firstChild。childNodes。length;i)
{
vartempObjmyXML。firstChild。childNodes〔i〕。attributes;
myArray。push(
{
linkURL:tempObj。linkURL,
imgURL:tempObj。imgURL,
imgText:tempObj。imgText
})
}
drawLeft();
}
functiondrawLeft()
{
for(vari0;imyArray。length;i)
{
varpicLoaderTempleftBar。createEmptyMovieClip(picLoaderi,i1);
varpicCounterTempleftBar。createEmptyMovieClip(picCounteri,i10001);
picCounterTemp。idi;
picLoaderTemp。x10;
picLoaderTemp。ysmallPicHeightiglobal。gapi10;
picLoaderTemp。loadMovie(myArray〔i〕。imgURL);
picCounterTemp。onEnterFramefunction()
{
vartempNameleftBar〔picLoaderthis。id〕;
if(tempName。width0)
{
vartempScaleMath。min(smallPicWidthtempName。width,smallPicHeighttempName。height)
tempName。widthtempScaletempName。width
tempName。heighttempScaletempName。height;
tempName。onPressfunction()
{
vartempNumthis。name。slice(9);
textArea。contentText。textmyArray〔tempNum〕。imgText;
drawRight(myArray〔tempNum〕。imgURL);
}
deletethis。onEnterFrame;
}
}
}
}
functiondrawRight(a)
{
picLoader。loadMovie(a);
varpicCounterthis。createEmptyMovieClip(picCounter,60000);
picCounter。onEnterFramefunction()
{
if(picLoader。width0)
{
vartempScaleMath。min(bigPicWidthpicLoader。width,bigPicHeightpicLoader。height);
picLoader。widthtempScalepicLoader。width;
picLoader。heighttempScalepicLoader。height;
picLoader。x(bigPicWidth20picLoader。width)2smallPicWidth20;
picLoader。y(bigPicHeightpicLoader。height)235;
picLoader。onPressfunction()
{
getURL(a,blank);
}
deletepicCounter。onEnterFrame;
}
}
}
leftBar。onEnterFramefunction()
{
if(xmousesmallPicWidth20)
{
leftBar。y(ymouseStage。height2)10;
if(leftBar。y0)
{
leftBar。y0;
}elseif(leftBar。yStage。heightleftBar。height20)
{
leftBar。yStage。heightleftBar。height20;
}
}
}
开始执行函数
myXML。load(pics。xml);
3。3。3创建pics。xml的类
利用外部来导入图片到FLASH,也可以它只是一种桥接,不过非常的实用,不仅仅是ActionScript,在C,Java等语言都被广泛的运用。
lt;?xmlversion1。0encodingUTF8?
data
XML它的好处就是让修改者修改起来非常方便,上面的例子,我只要在XML里面修改。就可以对FLASH中的图片进行添加或删除。也加强了安全方便的保护。
总结
近几年来随着我校的扩招,办学规模不断扩大的前提下,原有的教材管理系统已不再满足需求,。因此,本人结合本校教材管理工作的实际情况开发了此系统。
本系统采用BS的框架结构,以。NET为开发平台,以C作为开发语言,以SQLServer作为后台数据库,运用面向对象的设计思想和UML建模知识,按照从需求分析、系统体系结构设计、数据库设计、实现的开发流程完成了教材管理系统的开发和论文的撰写。本系统完成了系统初始化、教材计划管理、订单管理、入库管理、出库管理、统计打印、权限管理等模块,基本能够满足我校教材管理的需求。随着该系统开发的完成,一方面使教材管理人员从繁重、复杂且易出现错误的手工操作中解脱出来,提高工作效率,实现了基于校园网的办公自动化。另一方面也方便了学生通过校园网随时查询所领教材信息,加强了教材管理人员与学生之间的联系,提高了教材管理工作的透明度,更好地实现了人性化管理。
本系统还有一些不足的地方,整个系统的可靠性、健壮性还有待进一步进行测试,系统安全性设计还不够完善,权限分配还没有完成等。另外为了教材录入的方便,条件允许的情况下,可以考虑购买一台条形码读卡器设备实现教材基本信息的智能录入。
教材管理的全部工作都可通过该系统在网络上完成,所有数据实时共享。整个系统实现后功能完善,使用方便,界面友好。系统能够较好地适应了高校教材管理的特点和要求,充分提高了教管理工作质量与效率。同时,也为进一步拓宽学生的知识体系结构、增强学生学习的积极性、主动性和有针对性的培养能力创造条件。
致谢
最后才写
参考文献
〔1〕殿堂之路《FlashActionScript3》。电子工业出版社。2009
〔2〕黄冈于林主编,《MacromediaFlashMX标准教程》,北京希望电子出版社。本版号:ISBN7900118411。2004,6:6767
〔3〕胡一梅,胡海涛,常会侠。中文版FlashMX动画电影梦工场。北京:北京希望电子出版社,2003:405~425。
〔4〕网冠科技。FlashMX小游戏时尚制作百例。北京:机械工业出版社,2002:234~343。
〔5〕莫志雄,能伟建。FlashMX网上动画编程指南。北京:北京希望电子出版社,2003:102~290。
〔6〕ShamBhangalIgorChromanski。FlashGameDesignCollection。Beijing:TsinghuaUniversityPress,2002:202~242。
〔7〕黄汗兵主编,《Showgood创作宝典之FLASHMX教学课件与互动游戏》,人民邮电出版社。本版号:ISBN7115107413120。2005,18(2):5050
〔8〕《FLASHMX实例创作教学宝典》,金版电子出版公司
〔9〕《XML技术在AS30语言编程中的应用探究》
〔10〕《FlashActionSpript高级编程艺术》
4个月就能玩积木,关键是你选对了吗7岁积木全攻略暑假快结束了,是时候陪孩子拼搭积木,收收心啦积木是可以全面发展手部运动脑力认知语言表达逻辑思维和社交能力的开放型聪明玩具。不同月龄,孩子的拼搭水平不同,需侧重发展的技能也有所不同,
家用打印机选购指南这份攻略请收好受到疫情影响很多学校开启了网课教学模式,家用打印机也逐渐成为了很多家庭的刚需产品,大数据时代随便在某宝上一搜,各种相关广告就会渗入我们的生活,刷剧看朋友圈等等都会看到家用打印机的广
毛利7!问界M5单车利润近两万,华为全员卖车模式成功了?8月,对于问界来说是一个转折点。相比于7月份7228台的交付量,8月份销量首次破万,成绩出众的背后,不仅仅让华为不造车模式取得了阶段性胜利,也让问界有了一个新的市场。最为关键的是,
新业态新模式驱动增长,2021年我国电商交易额超42万亿元中国商报(记者贺阳)作为2022年中国国际服务贸易交易会(以下简称服贸会)的重要组成部分,中国电子商务大会于9月1日在京开幕。会上,多项关于我国电商发展的成绩单发布,增势喜人。中国
Java19的结构化并发,一种新的多线程编程模式头条创作挑战赛结构化并发在Java19中是孵化功能,比预览功能的成熟度更低。想要尝鲜的朋友可以试试。想要在LTS版本中使用该功能,估计得等到Java25了。结构化并发并不是一个新鲜
北京启动首次气象景观评选活动探索文旅气象创新模式图为气象景观参评标准。北京市气象局供图中新网北京8月30日电(记者陈杭杜燕)8月30日,北京首个融入气象元素的大型文化旅游特色活动观云逐影魅力昌平寻找昌平气象景观及网红打卡地活动在
买车前和买车后的区别,你中枪没没买车之前,我相信很多人跟我一样,每天出行不是挤公交就是骑电动车,偶尔风吹日晒被雨淋,特别是周末节假日想去旅个游,看完交通路线,转车等车三五个小时,想想还是算了,这哪是旅游,这简直
人民币国际化加速,70多国已纳入外汇储备,CNY响彻世界很多人都以为,人民币在国际上被念作RMB,其实并非如此,RMB是国内的叫法,在国外人民币被叫作CNY,全称是ChinaYuan或ChineseNewYear。近年来,随着我们国家在
G7金砖,原来世界经济在他们手中世界银行公布了2021年世界各国的GDP数据,让我们来看看前20名国家都有谁。GDP前20个国家我们看到GDP前12名的国家,除了传统的G7外,还有4个就是最原始的金砖四国BRIC
一场12令梅西犯了难!阿根廷29岁门将断崖式下滑,世界杯又悬了北京时间9月1日凌晨,英超联赛第5轮的比赛继续展开交锋,阿森纳队在主场迎战维拉。枪手在第29分钟破门,热苏斯为球队占得先机。第73分钟,维拉球员路易斯凭借着一次角球机会直接射门将球
大连圣亚海洋世界临时闭园尊敬的游客根据大连市新冠肺炎疫情防控总指挥部工作指令部署,为保障市民和圣亚员工的健康安全,避免人员聚集引发交叉感染,自2022年8月29日(周一)起暂时闭园,恢复开放时间另行通知,