欢迎来到千学网!
您现在的位置:首页 > 实用文 > 其他范文

FLASH制作一个完整的loading

时间:2022-12-05 08:37:03 其他范文 收藏本文 下载本文

下面是小编为大家推荐的FLASH制作一个完整的loading,本文共6篇,欢迎大家分享。

FLASH制作一个完整的loading

篇1:FLASH制作一个完整的loading

loading这个东西,说穿了其实是给用户反馈的一种表现形式,在客户端中的loading,通常以鼠标的手型变化来表现;而在web端,loading的创意则层出不穷了,而且给用户的反馈更好。本文将主要阐述在flash中制作loading的一些问题。

先来看看loading的原理。在flash中,制作loading的目的是为了预先加载一部分内容(你可以选择全部加载完毕,或者加载一部分之后),然后再把flash的主要内容展示出来。一般来讲,loading是放在第一帧上面的(也可以不放在第一帧,比如放在任意一帧,但是在第一帧你要做个跳转,让播放头到loading的那一帧去)。这里要注意一个问题,如果你的flash程序有从元件库里导出元件的话(默认为第一帧导出),要导出的原件全部加载完毕之后才会显示第一帧的内容(即,你的loading)。这样的话很可能你在第一帧导出的内容过于庞大,占据了整个flash应用的很大一部分,比如50%,那么我们实际运行的效果就是在一段空白之后loading从50%处开始显示。

要避免上面的问题(一个明显的不好的用户体验),通常来讲我会用到两种方法:

第一,把要导出的元件取消导出,把它们集中放在某一帧(除开你做loading的那一帧),然后在放元件的这一帧之后的那一帧开始运行你的程序。

第二,用另个一个swf来加载需要做loading的swf。这种方法可以有比较完整的加载进度条以及百分比文字,缺点是容易引起其他问题,这个后面会讨论。

举个例子来说,我想为A.swf做一个loading,关键代码如下:

...... this. loaderInfo. addEventListener (SPANrogressEvent. SPANROGRESS,loadSPANrogress );

this. loaderInfo. addEventListener (Event. COMSPANLETE,loadComSPANlete );

...... AS3.0中增加了一个新的loaderInfo类来提供已加载的swf、图像文件的信息。flashplayer通过调度ProgressEvent对象的loadProgress方法来实现对加载内容反馈的监听,当加载全部完成后,flashplayer再调度Event对象的loadComple方法。loadProgress方法是我定义的监听加载进度的方法,所有有关加载的信息都可以在这个方法中加以反馈:

...... SPANrivate functionLoadSPANrogress ( e:SPANrogressEvent )

{

var loaded:uint= e. bytesLoaded;

vartotal:uint= e. bytesTotal;

varSPANercent: Number= int ( ( loaded /total ) * 100 );

trace (SPANercent+ “%” );

}

...... 上面的代码输出正在载入内容的百分比,这是一种最简单的反馈,但是你可以在这段代码里丰富你的loading的内容,使其更具有趣味性,以使得用户在等待下载的时候能清楚的知道下载的进度,或者在这时候观赏一段精美的动画——这完全取决于你的设计。这时候加载完成了,可以执行loadComplete这个方法了。在loadComplete方法里添加你想要的动作,比如给用户一个播放按钮以使得用户可以自主选择,或者直接进入某一帧进行播放。

前面说过,直接在swf上添加loading可能会导致loading不是从1%开始,这时候可以用一个swf加载另一个swf的方法来实现完整的loading,比如,我想在B.swf里加载A.swf,那么在B.swf的程序里使用loader加载A.swf。需要注意的是,监听loader的加载进度需要使用loader的contentLoaderInfo属性,而不是loaderInfo。关于loaderInfo和contentLoaderInfo的关系如下图所示:

由于B.swf只起到加载A.swf的作用,并没有其他显示内容,所以它本身的加载可以忽略不计,这种方法可以比较完整的展示A.swf的加载过程。但是,同时使用这种方法也引发了一些问题,比如你在A.swf里与web端进行通信,使用了loaderInfo的parameters属性,则你在用B.swf加载A.swf后,通信将失效。这是因为FlashVars HTML 参数只影响主swf(例子里为B.swf),就是说你可以在B.swf里完成通信,但是A.swf不行。所以,我们可以先在B.swf中获取到页面要传递的信息,然后再让A.swf从B.swf中获取这个信息就可以了。通常我是这样处理的,假如B.swf的文档类为Main.as,那么在Main.as中定义一个static的属性比如prama(public static var prama),用来保存传递的信息,然后再在A.swf中通过Main.prama获取这个信息。这样就间接实现了A.swf与web端的通信。

综上所述,本文不是向大家介绍如何制作一个完整的loading的,相信loading的例子在网上并不少见,但是只有明白了loading制作的基本原理,才能从根本上制作出更为规范和友好的loading来。

篇2:怎样制作loading?

loading

首先画一个长方形,转换为mc,定义为loader,在适当位置加入动态文本定义为k,然后在影片剪辑loader加入以下代码:

onClipEvent(load){

btotal=_root.getBytesTotal;//让btotal等于总下载数;

}

onClipEvent(enterFrame){

bian1=_root.getBytesLoaded();//bian1等于已下载数;

persent=Math.round(bian1/btatal*100);//persent等于已下载数与总下载数的比,因为求百分数所以乘100;

_xscale=percent;//影片剪辑长度百分比随persent的大小变化;

_parent.k=persent+“%”;//在动态文本中显示下载百分比;

if(percent>=100){

在此输入想要做的事,如转入下一场景.

}

大家还可以将mc用其他动作表示,原理是一样的

篇3:FLASH加载loading的制作方法

做一个优秀的loading是衡量一个flasher水准、甚至态度的,因为loading是唯一一个你不会多看而所有用户、客户会看的东西,所以你对loading的重视程度,甚至可以反衬你这个flasher的职业道德。

我认识不少做设计为主的朋友,很多都是自己找一个现成的loading,然后每次去套用。我个人认为这是很不好的习惯。并不是说我不提倡代码、元件的重用,而是我觉得对于loading这种东西,套多了是要出问题的。我强烈建议那些已经达到可以修改人家loading水平的flasher看看我的东西。

这个讨论共分为三部分:

1、基础

2、MovieClipLoader相关讨论(较深入)

3、V2组件相关问题

今天我们主要介绍Flash的loading制作的基础。

首先要感激Macromedia的大智慧,提供了很好的两个函数使我们可以做出完美的loading,那就是getBytesLoaded和getBytesTotal。请不要再用你改来改去改了两三年的那个什么getFrameLoaded什么什么了,我都记不清楚怎么拼了。我只想说,Frame的观念将在真正的Interactive-Design中淡化。更别提什么Scene,那是Flash的败笔!

那么loading如何工作呢?我们如何利用这两个函数呢?这里要提到一个重要的概念。就是间隔调用。间隔调用有多种方式,下面列举出来,并列举出其在loading制作中的地位和用法,欢迎补充: ·setInterval方式

写法:

function loadCheck()

{

var p = getBytesLoaded()/getBytesTotal();

if (p==1)

{

clearInterval(intervalID); // 释放间隔调用

gotoAndPlay(someFrame); // 开始播放

}

}

var interval = 30; // 这个数值是刷新频率

var intervalID = setInterval(loadCheck,interval);

我个人并不推荐初学者用这种写法。因为很多人容易忽视clearInterval,而这个东西被忽视掉,是很恐怖的!如果你的setInterval没有给及时移除,意味着你将在整个swf的播放过程中增加一个没有必要的负担!

而且这种方法很不适合控制MoiveClip的状况(因为初学者会发现MC的路径是个大问题,而loadCheck本身就是个函数,还是被setInterval调用的,要在loadCheck中指一个路径出来,挺麻烦的,你不要指望_root,那样会让你的程序不规范;也不要指望this,因为在函数中用this似乎不太理想;最好什么都不写,但往往你不敢不写),进而做出更好的效果。

·onEnterFrame方式

我最喜欢的就是这种方法了。比较方便、直观。因为往往我们是要用一个MC体现一个loading的进度,比如,一个进度条,或者更有创意的东西,只有你不能想到的,没有你不能做到的。

那么究竟如何用呢。首先,把创意定好。然后给你的MC一个实例名字,比如叫做loader_mc。这时候在timeline上写代码,记住,是timeline而不是MC上。因为这样便于代码统一、便于路径统一、便于管理和寻找。别为了省几个字母就把代码通通搬到button,mc上面去,然后一个on(press)了事。除非你是在敷衍你的作品;或者你是在为了交作业。

loader_mc.onEnterFrame = function ()

{

var getTar:MovieClip = this._parent;

var p = getTar.getBytesLoaded()/getTar.getBytesTotal();

trace(p);

if(p==1)

{

this.onEnterFrame = null;

gotoAndPlay(someFrame); // 开始播放

}

}

就这么简单,记住,在MC的事件函数体内部引用MC,永远是一件很快的事情。因为this就可以指向这个MC本身,通过诸如this._parent之类的方法,可以找到你所有的MC!

·直接依赖于timeline的循环方式

这是非常非常非常古老的方式,就不多介绍了。

以上算是比较简单的。还有两个比较容易出问题的loading技术,就是MovieClipLoader、含有多种V2组件的Loader。

篇4:Loading动画的制作

loading

Loading动画的制作(一)

说是Loading动画,其实只不过是用Fireworks4做的一段动画效果,千万别误会是Flash中的Loading哦,用Fireworks可不能进行编程,如果哪位会的话,请告诉我,呵呵, 实际效果是这样的。请看下图

(这是一个GIF动画)

制作方法如下:

一、新建文件,新文件的尺寸大小为300*200,画布颜色为白色。

二、选择工具面板中的矩形工具,按住shift键,画一个正方形,填充颜色为红色,打开info面板,设置其W和H的值都为20,按回车表示确认,

三、选择这个红色的正方形,按F8键,在符号属性对话框中,选择其类型为Graphic,点击OK按钮。

四、使用菜单命令edit->clone,克隆这个实例,这时二个实例处于同一个位置,上下重叠。再使用菜单命令modify->transform->numeric transform,也可以使用快捷键Ctrl+Shift+T.

转自:动态网制作指南 www.knowsky.com

篇5:FLASH制作天气预报

天气预报

前几天在帝国看到有个天气预报组件,但不给代码,

FLASH制作天气预报

。。。。郁闷 所以自己在网上看了些资料后弄的

希望对大家有帮助

主要用到WebService类

其中用到两个事件onResult//数据传回, onFault//接受数据失败

帮助里有,很全的

全部代码:

//write BY 烟头

import mx.services. *;  //加载类

function getWeather  //自定义的函数

{

ws= new  (“www.webservicex.net/globalweather.asmx?WSDL”); //实例化WebService,括号中的地址是一个提供天气预报服务的 WebService 服务器,网上可以找到,这个是国外的,中国的城市不怎么全,谁有好的地址共享一下,呵呵

cityName =“Beijing”;

countryName=“China”; //城市和国家名

wsObj = ws.GetWeather(cityName, countryName); //服务器提供的接口函数,城市、国家名

wsObj.onResult = function (xml)

{

//解析传回的XML文件

weatherData = new XML (xmlData);

weatherData.ignoreWhite = true; //忽略空白

data_Array=new Array();//存储返回XML中有关信息的数组

for (var i = 1 ; i <= 17 ; i ++)

{

data_Array[i]=weatherData.childNodes [1].childNodes [i].firstChild;

_root.info.text=_root.info.text+data_Array[i];//场景中一个叫info的动态文本或TextArea组件,显示信息的

}

}

wsObj.onFault = function (fault_I )

{

trace(fault_I);//输出失败信息

}

}

//调用函数

getWeather ();

差不多就这些吧 ,源文件就不发了(做的太难看,。。),不会的问吧

呵呵

好就顶下。

篇6:flash相册制作

flash相册制作

1.先来个简单点的

先来看下效果:

本文源自:www.hudong.com

其实制作方法很简单,不需要有FLASH的'基础..

首先,要有款软件,名字叫FlashMaker,才361K,小得很? 点击下载地址

软件为绿色软件,可以放心用.

下载解压,安装以后..就可以用了

步骤很简单,3步就OK了,实际也就2步,第2步是加背景音乐,没必要(自己喜欢可以加)

如下图:

自己动手试吧..很简单吧!

好东西当然要大家分享娄!!!

大家在做出来FLASH相册以后,可能会是这个样子.

这是因为你没装FLASH播放器的原因..

因为我自己在用flashMX2004,所以不存在看不到的问题,要是你们用的自家机子的话,就去下个来

地址是soft.mumayi.net/downinfo/1444.html

补充下:

就是想要照片有更多的转换方式的话

就把鼠标放到,图片上,点右键,选择图片切换模式,如下图:

有什么不懂的就再看看这个:QQ空间集合

还有就是,做出来的FLASH怎么上传到网上去,获取一个网络地址,就请大家继续看:QQ空间集合

2.再来个稍稍难一点点的.

横向移动的flash相册..教程是个视频教程,方便大家学起来更容易点..下载地址在小组里

效果:

本文源自:www.hudong.com

flash课件制作教程

制作多语言支持的Flash应用程序

讲解Flash制作动画基础知识:遮罩

利用FLASH软件制作语文课件几点体会

简单的Flash鼠标跟随制作教程

制作一个潜望镜教学反思

浅谈计算机课程FLASH动画制作教学设计论文

Flash教程:纯AS代码制作的燃烧的火焰效果

一个在Flash里面使用的正则表达式的类

初识flash教案

《FLASH制作一个完整的loading(通用6篇).doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式

点击下载本文文档