Flash AS 实例进阶 FLASH载入等待 Loading效果

Flash AS 实例进阶 FLASH载入等待 Loading效果,旨在提升网页的用户体验,增加页面的装饰性以及提示用户等待数据载入的效果。下面将详细讲解该攻略的完整流程及两个示例说明。

步骤1:创建loading效果

1.1 在Flash中创建loading效果,可以使用Flash的元件或自行绘制图形。建议使用矢量图形。

1.2 为loading效果添加动画效果,使其看起来更有趣味性和对比度。

1.3 给loading效果命名,假设为"loadingMC"。

步骤2:代码实现

2.1 在舞台上添加加载条,可以使用Flash插件或自行编写代码。

2.2 在舞台上添加loadingMC,所添加的loadingMC位置应该与加载条位置一致。

2.3 在舞台上添加文本框,用于提示用户"正在加载,请稍候..."等文本提示。

2.4 使用AS3的loader类,编写代码加载目标资源。示例代码如下:

var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler);
loader.load(new URLRequest("目标资源的URL"));

2.5 在进度事件处理器函数progressHandler中,更新加载条的进度。示例代码如下:

function progressHandler(event:ProgressEvent):void{
    var percent:int = event.bytesLoaded / event.bytesTotal * 100;
    loadingBar.scaleX = percent / 100;
}

2.6 在加载完成事件处理器函数completeHandler中,移除加载条、loadingMC、文本框等元素。示例代码如下:

function completeHandler(event:Event):void{
    removeChild(loadingBar);
    removeChild(loadingMC);
    removeChild(loadText); //removeChild可用于移除舞台上任意元素
    //添加其它代码,如显示目标资源或跳转页面等
}

步骤3:附加功能实现

3.1 可以在加载完成事件处理器函数completeHandler中,对目标资源进行操作,如显示目标资源或跳转页面等。

3.2 可以添加错误事件处理器函数,处理目标资源加载失败的情况。示例代码如下:

loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);

function errorHandler(event:IOErrorEvent):void{
    trace("资源加载失败!");
}

以上就是Flash AS 实例进阶 FLASH载入等待Loading效果的完整攻略。下面分别给出两个示例说明。

示例1:加载外部图片资源

假设需要加载外部图片资源,可按照以下步骤实现。

  1. 新建一个Flash文档,将第1步骤中的loading效果元件放在舞台中央,使用代码片段添加文本框用于显示文本提示。

  2. 在舞台外添加一个按钮,用于启动加载图片资源的代码。按钮使用实例名称"loadBtn",loading效果使用实例名称"loadingMC",文本框使用实例名称"loadText"。

  3. 添加如下代码,实现图片资源的加载:

loadBtn.addEventListener(MouseEvent.CLICK, clickHandler);

function clickHandler(event:MouseEvent):void{
    var url:String = "https://images.unsplash.com/photo-1634324537711-196d63eb89f1";
    var loader:Loader = new Loader();
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
    loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler);
    loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
    loader.load(new URLRequest(url));
    addChild(loadingMC);
    addChild(loadText);
}

function completeHandler(event:Event):void{
    removeChild(loadingMC);
    removeChild(loadText);
    var image:Bitmap = Bitmap(loader.content);
    addChild(image);
}

function progressHandler(event:ProgressEvent):void{
    var percent:int = event.bytesLoaded / event.bytesTotal * 100;
    loadingBar.scaleX = percent / 100;
}

function errorHandler(event:IOErrorEvent):void{
    trace("资源加载失败!");
}
  1. 在浏览器中预览,点击按钮,可以看到loading效果和文本提示,图片资源加载完成后,loading效果和文本提示就会消失,图片就会在舞台中央显示。

示例2:加载外部SWF资源

假设需要加载外部SWF资源,可按照以下步骤实现。

  1. 新建一个Flash文档,将第1步骤中的loading效果元件放在舞台中央,使用代码片段添加文本框用于显示文本提示。

  2. 在舞台外添加一个按钮,用于启动加载SWF资源的代码。按钮使用实例名称"loadBtn",loading效果使用实例名称"loadingMC",文本框使用实例名称"loadText"。

  3. 添加如下代码,实现SWF资源的加载:

loadBtn.addEventListener(MouseEvent.CLICK, clickHandler);

function clickHandler(event:MouseEvent):void{
    var url:String = "flash.swf";
    var loader:Loader = new Loader();
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
    loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler);
    loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
    loader.load(new URLRequest(url));
    addChild(loadingMC);
    addChild(loadText);
}

function completeHandler(event:Event):void{
    removeChild(loadingMC);
    removeChild(loadText);
    var swf:MovieClip = MovieClip(loader.content);
    swf.gotoAndPlay(1); //播放swf动画
    addChild(swf);
}

function progressHandler(event:ProgressEvent):void{
    var percent:int = event.bytesLoaded / event.bytesTotal * 100;
    loadingBar.scaleX = percent / 100;
}

function errorHandler(event:IOErrorEvent):void{
    trace("资源加载失败!");
}
  1. 在浏览器中预览,点击按钮,可以看到loading效果和文本提示,SWF资源加载完成后,loading效果和文本提示就会消失,SWF就会在舞台中央播放。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Flash AS 实例进阶 FLASH载入等待 Loading效果 - Python技术站

(0)
上一篇 2023年6月25日
下一篇 2023年6月25日

相关文章

  • 浅析C和C++函数的相互引用

    浅析C和C++函数的相互引用 在C和C++程序设计中,函数的相互引用经常会用到。下面我们来详细介绍C和C++函数的相互引用的完整攻略。 一、C函数的相互引用 1.1 函数声明和函数定义 在C语言中,函数声明和函数定义是两个不同的概念。函数声明的作用是为了让程序知道函数的存在,将其与函数的实现分离开来;函数定义则是实现函数的具体功能。 函数的声明通常放在头文件…

    other 2023年6月26日
    00
  • QT实现串口通信的完整步骤

    下面是QT实现串口通信的完整步骤: 1. 准备工作 在开始实现串口通信前,我们需要做一些准备工作: 安装QT库; 找到自己要使用的串口,并将其连接到电脑; 确定需要交换的串口数据格式; 2. 创建QT工程 下一步需要创建一个QT工程,这里我们使用QT Creator来创建一个新的控制台应用程序工程。在工程创建之后,可以前往“工程配置”菜单中,勾选上“使用外部…

    other 2023年6月26日
    00
  • JavaScript单例模式实现自定义弹框

    JavaScript的单例模式是一种常见且有用的设计模式,通过它可以实现对类的实例化控制,从而避免了出现重复创建类实例的情况。本文将详细讲解如何使用单例模式来实现自定义弹框功能,包括具体的实现思路和操作步骤。 实现思路 实现自定义弹框的整体思路是: 创建一个弹框类。 实现该类的单例模式。 在单例模式实现的基础上,添加具体的弹框内容功能。 在页面中调用该弹框类…

    other 2023年6月25日
    00
  • Android7.0首个开发者预览版自带原生壁纸打包下载

    下面是详细的攻略: Android 7.0 首个开发者预览版自带原生壁纸打包下载 Android 7.0首个开发者预览版中,自带了多款非常漂亮的壁纸,作为开发者或Android爱好者,想必很多人都会对这些壁纸感兴趣。本文将介绍如何通过命令行或ADB轻松打包下载Android 7.0 首个开发者预览版中自带的原生壁纸。 准备工作 在开始之前,需要安装好最新版本…

    other 2023年6月26日
    00
  • healthd电池battery

    以下是“healthd电池battery”的完整攻略: healthd电池battery healthd是一个Linux系统中的守护进程,它可以监控系统健康状况,包括电池状态。本攻略绍如何使用healthd来监控电池状态。 步骤1:安装healthd 在开始使用healthd之前,您需要在Linux系统中装healthd。您可以使用以下命令在Ubuntu系统…

    other 2023年5月7日
    00
  • matlab进行数值微分

    以下是“MATLAB进行数值微分”的完整攻略: MATLAB进行数值微分 数值微分是一种常用的数值计算方法,可以用于计算的导数。MATLAB提供多种数值微分函数以下是使用MATLAB进行数值微分的步骤: 定义函数。 在使用MATLAB进行数值微分之前,您需要定义一个函数。以下是一个示例: matlab y = f(x) y = sin(x); end 在上面…

    other 2023年5月7日
    00
  • 在layui中实现开关按钮的效果实例

    以下是关于“在layui中实现开关按钮的效果实例”的完整攻略: layui开关按钮 layui是一款轻量级前端UI框架,提供了丰富的组件和工具,其中包括开关按钮组件。layui的开关按钮组件可以用于实现开关按钮的效果。 示例一:基本用法 以下是一个基本用法的示例,演示了如何在layui中实现开关按钮的效果: <!DOCTYPE html> &lt…

    other 2023年5月9日
    00
  • 什么是iframe及作用是什么?

    什么是iframe及作用是什么? 在网页设计的过程中,经常会遇到需要在页面内嵌入其他网页的情况,而iframe正是解决这个问题的。iframe是HTML中的一个标签,用于在当前网页中嵌入另一个网页。 iframe的基本语法 下面是iframe标签的基本语法: <iframe src="被嵌入页面的网址"></iframe…

    其他 2023年3月29日
    00
合作推广
合作推广
分享本页
返回顶部