关于flash的制作,急求~~~~~~!!!!!

心若向阳,逆风翻盘 2024-05-21 21:42:02
最佳回答
参考代码var myloading:movieclip; var load**:movieclip;var _linebgcolor = "0x666666"; var _linecolor = "0x0000ff"; var _linelen:number = 200; var _lineh:number = 3; var _txtcolor; var _txtalign:string = "center"; var tb:number; var txtformat:textformat = new textformat("arial", **, 0x000000, true); myloading = _root.createemptymovieclip("myloading",10); //进度条load** = myloading.createemptymovieclip("line", 10); load**.linestyle(1, _linecolor, 20);load**.moveto(0, 0);load**.lineto(_linelen, 0); load**.lineto(_linelen, _lineh); load**.lineto(0, _lineh); load**.lineto(0, 0); //进度显示文本load**.createtextfield("txt", 30, 0, 0, _linelen, 22);load**.txt.autosize = _txtalign; //设置进度条的位置(居中于主场景)load**._x = (stage.width - _linelen)/2; load**._y = stage.height/2; //获得影片大小并stop,再onenterframe tb = _root.getbytestotal(); _root.stop(); myloading.onenterframe = function(){ var lb:number = _root.getbytesloaded(); var percent:number = math.round(lb/tb*100); load**.txt.text = percent+"%"; load**.txt.settextformat(txtformat); load**.linestyle(_lineh, _linebgcolor, 10); load**.moveto(0, _lineh/2); load**.lineto(percent*_linelen/100, _lineh/2); if (percent == 100) { _root.play(); delete th**.onenterframe; load**.clear(); load**.txt.text = ""; } 网上参考资料:详细的可以看一下下面推荐的网址~~有图例~~解说更明确 loading 预载动画程序设计 loadin**页预载程序是网页动画中的一个关键,因为即便是flash生成的文件很小,但是制作出的大型动画对于使用调制解调器的用户速度还是需要解决的。如果没有一个预载的过程,只怕动画观看起来也不会很流畅。特别是在动画中加入了大量的声音和图像的动画没有了loading将不会流畅的展现在我们眼前。 在此之前先学习一下在这章将要出现的属性与函数。如果由于例中使用了没有接触过的函数和属性,请先照例制作,等在以后的章节中学习了相关的其它函数后回过头来再看的话,就会完全明白例子中的作用。 ◆ _framesloaded _framesloaded是电影剪辑的属性,用来获取电影剪辑中的已经下载的帧数,当然大部的应用于电影剪辑的属性都可以应用于整部动画。此属性只能用来获取。 if(_root.mc._framesloaded>100){ _root.gotoandplay(1) } 此例子在普通模式下输入将成为: if(getproperty("_root.mc",_framesloaded)>100){ gotoandplay(1) } 普通模式中对属性的获取将使用getproperty函数,但此函数在新的.语法的使用中并非最佳,在以下的例子中将不再引用。此例中以获得电影剪辑已经下载的帧数大于100时,开始返回场景重新播放。这也是在网站制作中一个比较典型的例子,很多的电影剪辑因为体积问题,在“流”式播放过程中不会很流畅。而下例将是一个错误的例子。 _root.mc._framesloaded=100; _root.gotoandplay(1); 在编程中将不允许对_framesloaded属性进行赋值,如果你想当下载的帧数等于100时根目录开始回放的话,请按下例制作。 if(_root.mc._framesloaded=100){ _root.gotoandplay(1); } ◆ _totalframes _totalframes属性是用来获取电影剪辑实体的总帧数。也可以用来获取动画的总帧数。在下例中会看到它的用法。 i=_root.mc._totalframes; if(_root.cuttentframes=i); _root.stop(); } 程序中将电影剪辑实体的总帧数赋值赋予了变量i,而当主场景的动画播放指针播放到与电影剪辑中的总帧数相同的数目时,动画停止播放。此属性同样为非赋值属性。 ◆ ifframesloaded ifframesloaded函数也是用来获取已经下载的帧数的,与_framesloaded不同的是它用于一个简单的行为来描述已下载的帧数。而且此函数似乎是专为loading设计,它位于basic actions指令集,指令名称为if frames ** loaded。以下实例将构成一个最为简单的loading。 ifframeloaded(_totalframes){ gotoandplay(3); }else{ gotoandplay(1); } 将此程序加于影片的第二帧,可用于所有动画的预载技术。意思为当装入的帧数为总帧数时开始播放第三帧,如果不然,播放第一帧。在flash5以后开始使用更多的函数和属性,所以此函数不推荐使用。 ◆ getbytesloaded() getbytesloaded()为获取电影剪辑实体的已下载字节数,如果是外部动画将返回动画的总字节数。getbytesloaded用于更加精确的loading设计,因为它并不像_framesloaded属性是获取影片的总帧数,而是以字节做为单位获取。如果说动画的最后一帧将是一个大型的图像或是声音角色的话,哪么_framesloaded所获得的百分比将不准确,getbytesloaded有效的弥补了此方面的不足。例: i=_root.getbytestotal(); if(_root.getbytesloaded()>=1000000){ n=_root.getbytesloaded(); if(n<=i/4){ _root.stop(); trace("下载了1m,还不到四分之一,动画太大,下载时间会很长,是否继续?") } } 此句的意思为当动画下载到1mb时,比较是否已经下载了动画的四分之一,如果是,停止动画的播放,在调试窗口显示“下载了1m,..."等字符串,根据动画中的其他行为判断是否继续播放。此例的另一特点是,停止的地方如果有插入电影剪辑的话,电影剪辑将不会停止播放。也可以通过动态文本显示已经下载的文字数,假设在动画的主场景中有一个变量名为text的动态文本变量,哪么例: _root.text=_root.getbytesloaded(); if(_root.getbytesloaded()>=_root.getbytestotal()){ gotoandplay(3); }else{ gotoandplay(1); } 动态文本框会动态显示已经下载的字节数为观众服务。观众也会了解在动画的下载过程中动态的进度了。 ◆ getbytestotal() getbytestotal()函数是用来获取动画或是电影剪辑的总字节数,当然我们可以通过对文件的大小来观察动画的总字节数,但对于网络上使用浏览器的观众来说,动态显示文件大小是很有必要的。还有,如果想观察动画中电影剪辑的体积就只有靠getbytestotal()函数了。 if(_root.getbytestotal()>=1000000){ _root.stop(); } 这个程序的意思是当动画的总字节超过1m时停止动画播放。 ◆ gettimer() gettimer()函数用来获取电影剪辑或是动画的已经播放时间数,此函数并不仅仅应用于loading的制作,在今后的学习过程中还会接触到它。在flash5的对动画播放时间的控制上会有gettimer()函数大显身手的舞台。但gettimer()函数获取的时间是以毫秒做为计算单位的,一般在程序制作过程中还会对它除以一千来取得秒,这样更加符合对于时间播放程序的显示。假设动画中有一个text的动态文本框变量。例: text=gettimer()/1000; 通过帧循环或是其它的诛如onclipevent(enterframe)等行为的控制会动态的显示动画播放的时间过程。又例如: text=gettimer()/1000; if(text>=10){ gotoandstop(3); }else{ gotoandplay(1); } 假设此程序位于动画的主场景的第二帧。那么当开始播放10秒钟之后才会正式开始播放,不然只会在第一帧与第二帧之间循环。 一个简单的loading 一个简单的loading制作并不需要很高深的编程基础,而且大部份设计人员开始学习flash脚本编程时都是从loading开始学起的。也是因为制作loading对于动画传播方面起着至关重要的作用。 步骤一、打开flash5,新建一个文件。在影片的默认设置中背景色是白色的,动画将以每秒十二帧的速度播放,这些你可以通过点击modify|movie命令打开movie properties对话框观察到。如图4-1所示。但是实践告诉我们,使用影片默认设置制作的动画,在网上浏览时,并不能很流畅,所以设计人员一般喜欢把默认的每秒12帧更改的高一点,这样就可以在发布了以后观看到比较流畅的动画了。 图4-1 movie properties对话框 步骤二、在影片的第一帧,使用window|panels|stroke命令打开stroke笔触面板,将笔触的宽点拉杆拉到3,如图4-2所示。 图4-2 用stroke面板改变笔触粗细 步骤三、点击绘图面板中的方形绘图工具。在绘图面板colors项上面的油漆桶工具中把色彩选为红色。然后在场景中绘制出一个长方形,如图4-3所示。 图4-3 绘制一个长方形进度条 步骤四、在编辑区内用鼠标点击长方形的红色处,你会发现色彩出现了很多小麻点,已经处于了被选取状态。 步骤五、点击insert|convert to symbol,将红色长方形转换为符号,在随后打开的symbol properties对话框中的name输入框输入符号的名称为loading。然后选择movie clip电影剪辑项,点击ok。 步骤六、现在点击红色长方形你会发现它已经不再出现小麻点了,而是出现了一个蓝色的外框,因为它已经是一个符号了。现在选window|panels|instance命令打开instance实例面板。 步骤七、在面板中的name项中输入名称loading,为这个符号取了一个分身名称。如图4-4所示。 图4-4 为进度条符号取分身名称 步骤八、在时间轴的第二帧按f6键,插入一个关键帧。 步骤九、用鼠标双击此帧打开帧的action面板。我们要开始制作预载动画的程序了。 步骤十、双击action面板左边的指令里的actions项,在打开的指令里选择if,用鼠标又击,if指令出现在编辑区了。 步骤十一、在action面板的下半部份参数输入区里condition输入栏中输入代码_framesloaded>=_totalframes。如图4-5所示。 图4-5 在if指令参数框内输入代码 步骤十二、然后点击指令区的basic actions命令集里的goto指令,在随后的参数输入框内的frame栏目中输入数字3。如图4-6所示。 图4-6 goto指令的参数输入栏 步骤十三、然后点击 actions指令集中的else项。 步骤十四、再次点击goto指令,这回不用更改帧序列数字了。 步骤十五、点击action指令集的setproperty指令,选择properties下拉框中的_xscale属性,然后在target输入栏中输入“_root.loading",点选后面的expression单选框项目。 步骤十六、在value输入栏中输入代码(_framesloaded/_totalframes)*100,点选后面的expression单选框。 图4-7 setproper指令参数输入框 步骤十七、指令已经输入完毕了。接下来开始在第三帧后面制作你的动画,然后发布,上传,观看。你也可以打开control|debug movie测试电影,在随后打开的浏览窗口中使用debug菜单中的模拟下载速度来测试。 程序解读: 第1-2行中if(_framesloaded>=_totalframes)句的意思是当已经下载的帧数大于等于影片的总帧数时,跳转到第三帧开始播放。 第3-5行,如果下载的帧数小于总帧数的话,跳转到第一帧播放。并且安装分身名称为loading的电影剪辑的长度属性,使它的长度成为已经下载的帧数除以总帧数再乘100。 知识要点: loading制作很多设计人员喜欢使用帧行为,其实用很多的功能都可以实现loading制作。本例中使用(_framesloaded/_totalframes)*100的表达式来制作进度条的宽度。其它loading制作方法不管是用下载时间函数还是用下载字节函数,但下载数除以总数乘以100的表达式基本上是没什么变化的了。 精确的loading设计 上述的哪个loading程序有一些比较简单,虽然它已经达到了预载的效果,但是对于要求比较高的朋友可能就不能满足了。哪么请看图4-8,这个预载动画将使用到比较多的函数,使动画预载看起来更加的人性化。 图4-8 高级的loading程序界面 制作过程: 步骤一、打开刚才我们设计的loading动画。这个loading程序将是在上述loading的基础上修改而成的。 步骤二、使用文字工具,并且使用window|panels|character命令,打开character字符面板,将字号设置为25,字色为黑色。如图4-9所示。 图4-9 character面板的设置 步骤三、将文字按图4-8这样式输入在界面里。然后打开window|panels|align命令,打开align对齐面板。 步骤四、使用其中的对齐方式将文字对齐成图4-8之样式。 步骤五、点击文字工具,在总字节的文字后面用鼠标拖出一个文本框,注意用调节点调节文本框的宽度。然后打开window|panels|text options命令打开text options文本属性面板,在下拉菜单中选择dynamic text打开动态文本设置框。 步骤六、在动态文本框的variable项输入这个文本框的变量为zbye,如图4-10所示。 图4-10 动态文本面板中设置动态文本变量 步骤七、用同样的方法在绘制七个动态文本框在各字符的后面。已经下载字节后面的字段变量为yby,总帧数的为zfrm,已下载帧数的是yfrm,需要的时间后面变量名为xtim,已用时间的为ytim,在进度条下方的下载进度变量为yload。 步骤八、设置完毕开始进行程序设计。打开第二帧的action面板,你可以看到我们刚才设计的程序。在这个程序中有很多的内容无需改变,只要再添加一些程序就可以了。 步骤九、我们将setproperty("_root.loading",_xscale,(_framesloaded/_totalframes)*100这句用鼠标拖动上移一行,在指定区的actions指令集中选择set variable指令。 步骤十、在打开的变量输入框中,variable项填写总帧数的字段变量zby,在value栏中输入代码_root.getbytestotal(),勾选后面的expression单选框。 图4-11 变量输入框 步骤十一、用同样的方法输入其它变量。yby=_root.getbytesloaded()。 步骤十二、zfrm = _root._totalframes。 步骤十三、yfrm = _root._framesloaded。 步骤十四、ytim=gettime()/1000 + "秒"。 步骤十五、xtim = int(zby-yby)/yby*tim) + "秒"。 步骤十六、yload = _framesloaded/_totalframes*100。 步骤十七、整个程序输入结束。对照参考图4-12。 图4-12 高级loading的完整程序 程序解读: 这前几行程序基本上不用解读,哪些都是action中所拥有的函数,只要将本章开始时的函数学习好,把它们赋值给变量就可以了。 第十行,用了一个表达式来获得了还需要的时间变量值。总字节减去已经下载的字节的值除以已下载的字节再乘以已经使用的时间。 第十一行,用已经下载的帧数除以总帧数再乘以100得到下载进度,其实这行程序还可以变化为yfrm/zfrm*100。 知识要点: 高级loading其实制作起来也并不复杂,你可以通过对函数的了解来做到。另外这里有一个概念,getbytesloaded和另外几个函数都是movie clip的函数,为什么也可以在场景中使用呢?其实你可以把场景看成是一个大的movie clip,很多电影剪辑的函数都可以使用在场景中,包括gettimer()。而动态文本变量正是去显示这些函数的数值的,其实在loading中还有一个概念,就是利用帧循环也可以达到循环效果,与一般的编程不同的是flash可以使用帧循环去达到一些效果,有时候因为帧循环的时间特性,做出的循环比用while等循环语句构造出更加意想不到的效果。学习好这些函数正是高级loading制作的关键。 20210311
汇率兑换计算器

类似问答
  • 关于2012**大事新闻的作文要最新的,急急急急急急
    • 2024-05-21 11:41:16
    • 提问者: 未知
    **上,**对叙利亚提案投了反对票 美中情局网站被黑无法登录 黑客称不满**法 1月12日 **出席外国专家座谈会;**非洲分台正式开播1月13日 我国校车新标准通过技术审查;美**方将对疑似美军侮辱**尸体事件展开调查1月14日 **2012年春晚进行首次带妆彩排;**巴士拉发生**事件,造成重大人员伤亡1月15日 **抵达利雅得对沙特进行正式访问;意大利邮轮触礁搁浅潮1月1...
  • 关于股票600019的问题!急!跪求!
    • 2024-05-21 03:08:39
    • 提问者: 未知
    1: 0.73元, 5.27元, 324.72,无语。。。3,走。大盘有调整要求、kdj死叉、5日均线已拐头向下。估计到60日均线才会有支撑了。4,(6.91-4.46)x1000x(1-0.5%)自己算吧.建议你下个行情软件来看看就全知道了。
  • flash制作教程下载
    • 2024-05-21 09:10:10
    • 提问者: 未知
    上面是下载地址,其实下载视频和音频文件根本不用软件根本不用刻意的去下载,方法简单的让人看了都直发笑,只是有的朋友不知道而已,在试看视频或试听音频文件等缓冲完后,这时候想文件已经下载到我们电脑里了,下载网页里的和暴风影音酷我音乐盒qq空间等等方法完全一样,下面我说一下怎么下载音频或视频文件:  1:打开浏览器或某个网页后,选择:工具-internet选项-删除文件-确定。(这样做的目的是方便一会儿查...
  • 关于怎么看股票的业绩?急求
    • 2024-05-21 19:41:27
    • 提问者: 未知
    要看盈利还是亏损只要看每股收益就可以了。这只股票一季亏损4分钱,但中期预测可能实现盈利。看业绩有时很难看清的,中期盈利但全年是不是盈利就不知了,最重要的是其盈利状况得到持续改善,要知道炒股票是炒未来,现在业绩好不等于将来业绩好,好的股票是一直业绩好,而且还有更好的发展。
  • 关于银行的纠纷 求教 急!
    • 2024-05-21 13:20:41
    • 提问者: 未知
    报案,找他们领导,银行录像有一定保存时间,及时报案,保留当天录像才是最要紧的
  • 急求!~~~~~关于核电站的问题
    • 2024-05-21 03:02:40
    • 提问者: 未知
    五条理由否定乳山核电站:  (1)山东半岛沿海80公里距离之间规划了3座核电站,其中海阳核电站和乳山核 电站相隔20公里。距离2009年在建项目乳山核电站仅仅6公里之遥,有一个著名的**级银滩旅游度假开 发 区。开发区始建于1992年,1994年被评为省级旅游度假区,2002年又被**评为aaa**旅游 度假 区。开发区投入基础设施建设十多亿元,已经引进各种投资100多亿元。来自省内的68家企业抢...
  • 求一本关于股票的电子书~ 急!!!!
    • 2024-05-21 05:19:25
    • 提问者: 未知
    完整版本: 【 艾略**动原理三十讲】——txt版【文字简捷清晰,请朋友到该网站动手复制】本书详尽的介绍了股市分析的一种经典理论——艾略**动原理,本书分30讲,每一讲涉及波动原理的一个主题进行详尽论述,易于阅读、易于理解。并且每一讲还配以一段小知识,包括著名的甘式股票实战交易法则、技术分析基本概念和基本形态等等。 暂把目录提供如下:第一讲 技术分析与艾略**动原理 第二讲 波动原理的基本概念...
  • 【急求问】关于股份制公司法人兼董事长所占股份问题,急!!
    • 2024-05-21 06:06:05
    • 提问者: 未知
    在刚刚过去的一年里,xx镇党委、**坚持以“**”重要思想为指导,认真贯彻落实省、市、县委经济工作会议精神,以增加农民收入为中心,以农村经济结构调整为主线,以农业产业化为主攻方向,着力解决“三农”问题,保持了农业和农村经济持续快速协调健康发展。 2004年,全镇工农业总产值达到了2.6亿元,比上年增长18%;实现工商税收180万元,比上年增加28%;完成固定资产投入1.2亿元,...
  • 急求关于父爱的广告词!
    • 2024-05-21 07:22:30
    • 提问者: 未知
    ·养不教,父之过。2006,让我们回归**传统文化中,感受父爱,珍惜今天。  ·虽然男人原是铁石心肠,但只要他当了父亲,他就有一颗温柔的心。  ·知子莫若父。  ·丈夫、父亲的天职在于能够保卫并保护孩子和妻子。  ·能了解自己孩子的是聪明的父亲。  ·子孝父心宽。  ·水平高的父母明了自己难以强迫孩子成功,而只能鼓励他在力所能及的范围内努力争取达到目标。  ·爸爸的教诲像一盏灯,为我照亮前程;爸爸...
  • 急求一篇关于张杰的演讲稿
    • 2024-05-21 10:47:06
    • 提问者: 未知
    支持支持,永远都爱他,小杰
汇率兑换计算器

热门推荐
热门问答
最新问答
推荐问答
新手帮助
常见问题
房贷计算器-九子财经 | 备案号: 桂ICP备19010581号-1 商务联系 企鹅:2790-680461

特别声明:本网为公益网站,人人都可发布,所有内容为会员自行上传发布",本站不承担任何法律责任,如内容有该作者著作权或违规内容,请联系我们清空删除。