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

yizhihongxing

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日

相关文章

  • Angular.js之作用域scope’@’,’=’,’&’实例详解

    Angular.js之作用域(scope) ‘@’, ‘=’, ‘&’ 实例详解 Angular.js是一个流行的JavaScript框架,它使用了一种称为作用域(scope)的概念来管理数据和事件。作用域(scope)是一个对象,它将控制器(controller)和视图(view)连接起来,使它们能够相互通信。 在Angular.js中,作用域(s…

    other 2023年8月19日
    00
  • linux下制作ISO文件

    Linux下制作ISO文件的完整攻略 什么是ISO文件? ISO文件是一种光盘镜像文件格式,包含着完整的光盘内容,可以保存在计算机上或者刻录为光盘。制作ISO文件的一个主要应用就是用于操作系统安装介质的制作。 制作ISO文件的工具 Linux操作系统下有多种可用的工具可以用来制作ISO文件,常用的有: Genisoimage:这是一个开源的光盘镜像生成工具,…

    other 2023年6月27日
    00
  • 关于linux的内存(free-m)

    以下是关于Linux的内存(free-m)的完整攻略,包括定义、使用方法、示例说明和注意事项。 定义 free-m是Linux中的一个命令,用于显示系统的内存使用情况。它可以显示的总内存、已用内存、空闲内存、缓存和交换空间等信息。 使用方法 使用free-m命令的如下: 1.开终端或命令行窗口 在Linux系统中,打开终端或命令行窗口。 输入free-m命令…

    other 2023年5月8日
    00
  • ios中延时执行的几种方式比较及汇总

    以下是关于“iOS中延时执行的几种方式比较及汇总”的完整攻略,包括基本概念、常用方法、示例说明和注意事项。 基本概念 在iOS开发中,经常需要延时执行某些代码,例如在用户点击按钮后延时一段时间再执行某个操作。为了实现延时执行,iOS提供了多种方法,开发者可以根据实际需求选择合适的方法。 常用方法 以下是iOS中常用的延时执行方法: performSelect…

    other 2023年5月7日
    00
  • wolfrpgeditor游戏解包

    Wolfrpgeditor游戏解包 Wolfrpgeditor 是一款制作RPG游戏的软件,使用者可以通过该软件制作自己的RPG游戏。但是,由于该软件封装了一些游戏资源,导致其它玩家无法直接查看游戏资源。而在一些情况下,我们需要查看或修改游戏文件中的一些资源,此时就需要进行游戏解包了。 解包工具 目前,主要有两种解包工具:WOLF RPG Editor De…

    其他 2023年3月29日
    00
  • 用js对json加密解密

    用 JS 对 JSON 加密解密 在现代开发中,JSON 的使用非常普遍,它是一种轻量级的数据交换格式,被广泛应用于前后端数据传递、API 接口设计、存储文本数据等方面。然而,JSON 本身的文本格式对于敏感信息的保护来说并不太友好。这时,我们需要使用加密算法对 JSON 数据进行加密,以确保敏感信息不会被破解的同时,又可以方便地进行传输和解密。 在本文中,…

    其他 2023年3月28日
    00
  • jq的urlencode

    jq的urlencode 在数据处理过程中,我们常常需要对URL中的参数进行编码,以防止特殊字符对URL的正常解析造成影响。而对于jq这个支持json数据格式处理的工具来说,如果要对URL进行编码,可以使用它内置的函数-urlencode。 url数据编码 URL编码是将特殊字符转换成一些转义字符,以便浏览器能够正确的处理这些字符,特别是一些中文、字母、数字…

    其他 2023年3月29日
    00
  • mysql group by 对多个字段进行分组操作

    MySQL的GROUP BY子句可以对查询结果进行分组操作,以便进一步使用聚合函数对每组数据进行统计。 针对多个字段进行分组操作的完整攻略如下: 1. 语法格式 SELECT column1, column2, …, aggregation FROM table GROUP BY column1, column2, …; GROUP BY子句的语法格…

    other 2023年6月25日
    00
合作推广
合作推广
分享本页
返回顶部