- 浏览: 903054 次
- 性别:
- 来自: 青岛
文章分类
最新评论
-
chienchia:
请问下,第4步,vpn做了什么使数据包发送到真实网卡,而不会再 ...
如何使用Android系统自带的VPN服务框架 -
fangyafenqidai:
我只要选第二个就可以呢,怒需要选第一个。之后不会有啥问题。正常 ...
Android Studio 超级简单的打包生成apk -
michaelye1988:
不错,很棒!
getcachedir和getexternalcachedir的区别 -
whlei01:
文章棒棒哒
常用的AS3代码 -
whlei01:
很不错 之前打开及时600M的内存 ,现在打开只有300兆了 ...
flash builder内存不够的解决办法
Demo1:
原理的话就是使用[frame()]标签,改变文档类指向。
默认程序入口:
被指向的主文档类:
进度条:
Demo2:
由于AS工程没有帧..所以不能用常用的方法来做Loading,这里介绍的方法使用元标签Frame(应该是元标签吧?还是叫元数据标签),网上对Frame的介绍是...使用指定的类替换文档类,并把其它的东西都丢到了该类的第二帧。
原理的话就是使用[frame()]标签,改变文档类指向。
默认程序入口:
package { import flash.display.Sprite; import mx.core.BitmapAsset; [Frame(factoryClass="SystemManager",label="hello")] public class MyApplication extends Sprite { [Embed(source="test.png")] private var bigPicCls:Class; public function MyApplication() { var b:BitmapAsset = new bigPicCls() as BitmapAsset; addChild(b); } } }
被指向的主文档类:
package { import flash.display.DisplayObject; import flash.display.MovieClip; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.Event; import flash.events.ProgressEvent; import flash.utils.getDefinitionByName; public class SystemManager extends MovieClip { private var preLoader:PreLoader; public function SystemManager() { stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; stop(); preLoader = new PreLoader(); addChild(preLoader); preLoader.x = stage.stageWidth/2 - preLoader.width/2; preLoader.x = stage.stageHeight/2 - preLoader.height/2; loaderInfo.addEventListener(ProgressEvent.PROGRESS,progressHandle); loaderInfo.addEventListener(Event.COMPLETE,completeHandler); } private function progressHandle(e:ProgressEvent):void { preLoader.setProgress(e.bytesLoaded,e.bytesTotal); } private function completeHandler(e:Event):void { loaderInfo.removeEventListener(ProgressEvent.PROGRESS,progressHandle); loaderInfo.removeEventListener(Event.COMPLETE,completeHandler); removeChild(preLoader); preLoader = null; nextFrame(); initApplication(); } private function initApplication():void { /**这里不能直接写成: var app:Application = new Application(); 这样的由于引用到 Application,Application中所有的资源都会被编译到第一帧来 这样的话 PreLoader就没有意义了,你也看不到PreLoader,就跳到第二帧了 **/ var appCls:Class = getDefinitionByName("MyApplication") as Class; var app:DisplayObject = new appCls() as DisplayObject; addChild(app); } } }
进度条:
package { import flash.display.Sprite; import flash.text.TextField; public class PreLoader extends Sprite { public function PreLoader() { var t:TextField = new TextField(); t.border = true; t.text = "loading......"; addChild(t); } public function setProgress(loaded:uint,total:uint):void { var t:TextField = getChildAt(0) as TextField; t.text = "load: "+ loaded/1000 + "/" + total/1000; trace("load: "+ loaded/1000 + "/" + total/1000); } } }
Demo2:
由于AS工程没有帧..所以不能用常用的方法来做Loading,这里介绍的方法使用元标签Frame(应该是元标签吧?还是叫元数据标签),网上对Frame的介绍是...使用指定的类替换文档类,并把其它的东西都丢到了该类的第二帧。
引用
Preloader类
package
{
import flash.display.DisplayObject;
import flash.display.MovieClip;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.text.TextField;
import flash.text.TextFormat;
import flash.utils.getDefinitionByName;
/**
* 加载类,由于原内容会放到此类的第二帧~所以需要使用MovieClip;
* @author L4cd.Net
*/
public class Preloader extends MovieClip
{
[Embed(source="l4cd_48_48.jpg")]
private var LogoClass:Class;
private var text:TextField;
public function Preloader()
{
//不多说了
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.showDefaultContextMenu = false;
//显示一张图片..非必要
with(addChild(new LogoClass()))
{
x=(500-48)/2;
y=(380-48)/2;
}
//加一个textField显示进度
text = addChild(new TextField()) as TextField;
with(text)
{
defaultTextFormat = new TextFormat("宋体",12,0,null,null,null,null,null,"center");
mouseEnabled = false;
height = 16;
x = (500-100)/2;
y = 35+(380-15)/2;
}
//重要~侦听~
loaderInfo.addEventListener(ProgressEvent.PROGRESS,progress);
loaderInfo.addEventListener(Event.COMPLETE,complete);
}
//显示进度
private function progress(e:ProgressEvent):void
{
text.text = (e.bytesLoaded/e.bytesTotal*100).toFixed(2)+"% Loaded";
}
private function complete(e:Event):void
{
//重要..加载完后...我们跳转到第二帧
gotoAndStop(2);
//获取文档类...然后显示,对于此步操作..有多种方法..有人习惯直接把原文档类addChild到此类当中..
var mainClass:Class = Class(getDefinitionByName("AsProjectLoadingExample"));
stage.addChild(new mainClass() as DisplayObject);
//删除此类
destroy();
}
private function destroy():void
{
loaderInfo.removeEventListener(ProgressEvent.PROGRESS,progress);
loaderInfo.removeEventListener(Event.COMPLETE,complete);
parent.removeChild(this);
}
}
}
AsProjectLoadingExample类
package {
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.geom.Matrix;
[SWF(width="500",height="380",backgroundColor="#FFFFFF",frameRate="24")]
//注意此行,Preloader为类名
[Frame(factoryClass="Preloader")]
public class AsProjectLoadingExample extends Sprite
{
[Embed(source="CD艳照.png")]
private var ImageClass:Class;
//嵌入一个2M的文件以显示加载效果
[Embed(source="something.wma",mimeType="application/octet-stream")]
private var SomeClass:Class;
public function AsProjectLoadingExample()
{
//马赛格ing...
var bmp:Bitmap = new ImageClass();
var bit:BitmapData = new BitmapData(bmp.width/10,bmp.height/10,true,0);
bit.draw(bmp,new Matrix(.1,0,0,.1));
with (addChild(new Bitmap(bit)))
{
scaleX = scaleY = 10;
}
}
}
}
package
{
import flash.display.DisplayObject;
import flash.display.MovieClip;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.text.TextField;
import flash.text.TextFormat;
import flash.utils.getDefinitionByName;
/**
* 加载类,由于原内容会放到此类的第二帧~所以需要使用MovieClip;
* @author L4cd.Net
*/
public class Preloader extends MovieClip
{
[Embed(source="l4cd_48_48.jpg")]
private var LogoClass:Class;
private var text:TextField;
public function Preloader()
{
//不多说了
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.showDefaultContextMenu = false;
//显示一张图片..非必要
with(addChild(new LogoClass()))
{
x=(500-48)/2;
y=(380-48)/2;
}
//加一个textField显示进度
text = addChild(new TextField()) as TextField;
with(text)
{
defaultTextFormat = new TextFormat("宋体",12,0,null,null,null,null,null,"center");
mouseEnabled = false;
height = 16;
x = (500-100)/2;
y = 35+(380-15)/2;
}
//重要~侦听~
loaderInfo.addEventListener(ProgressEvent.PROGRESS,progress);
loaderInfo.addEventListener(Event.COMPLETE,complete);
}
//显示进度
private function progress(e:ProgressEvent):void
{
text.text = (e.bytesLoaded/e.bytesTotal*100).toFixed(2)+"% Loaded";
}
private function complete(e:Event):void
{
//重要..加载完后...我们跳转到第二帧
gotoAndStop(2);
//获取文档类...然后显示,对于此步操作..有多种方法..有人习惯直接把原文档类addChild到此类当中..
var mainClass:Class = Class(getDefinitionByName("AsProjectLoadingExample"));
stage.addChild(new mainClass() as DisplayObject);
//删除此类
destroy();
}
private function destroy():void
{
loaderInfo.removeEventListener(ProgressEvent.PROGRESS,progress);
loaderInfo.removeEventListener(Event.COMPLETE,complete);
parent.removeChild(this);
}
}
}
AsProjectLoadingExample类
package {
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.geom.Matrix;
[SWF(width="500",height="380",backgroundColor="#FFFFFF",frameRate="24")]
//注意此行,Preloader为类名
[Frame(factoryClass="Preloader")]
public class AsProjectLoadingExample extends Sprite
{
[Embed(source="CD艳照.png")]
private var ImageClass:Class;
//嵌入一个2M的文件以显示加载效果
[Embed(source="something.wma",mimeType="application/octet-stream")]
private var SomeClass:Class;
public function AsProjectLoadingExample()
{
//马赛格ing...
var bmp:Bitmap = new ImageClass();
var bit:BitmapData = new BitmapData(bmp.width/10,bmp.height/10,true,0);
bit.draw(bmp,new Matrix(.1,0,0,.1));
with (addChild(new Bitmap(bit)))
{
scaleX = scaleY = 10;
}
}
}
}
发表评论
-
as3中颜色矩阵滤镜ColorMatrixFilter的使用
2015-05-11 15:32 1242public static function chan ... -
AS3.0 关于用URLLoader加载外部图片
2015-04-02 17:09 968很多人都想当然的直接用URLLoader加载外部图片然后通 ... -
Flash AS3 让<鼠标点击>穿透上层透明区域,下层对象触发<鼠标点击>事件
2017-10-24 13:54 937问题描述:1. 在Stage上放置2个Sprite, A ... -
关于 AS3 Socket 通信基础(六)
2017-10-24 14:02 7236.处理使用Sockets时候引发的错误. 在程序 ... -
关于 AS3 Socket 通信基础(五)
2015-04-01 16:50 8405.与Socket服务器断开,或者当服务器想与你断开的时候发 ... -
关于 AS3 Socket 通信基础(四)
2015-04-01 16:50 7354.同Socket服务器进行 ... -
关于 AS3 Socket 通信基础(三)
2015-04-01 16:49 12433.从Socket服务器读数据 ... -
关于 AS3 Socket 通信基础(二)
2015-04-01 16:49 942对于Socket对象来说,通过 ... -
AS3 Socket 通信基础(一)
2015-04-01 16:48 1058我们先来搞清几个概念,这有助于我们更加了解网络通信! 1、 ... -
as3.0针对两个独立swf的通信有个专门的类-----LocalConnection
2015-01-16 17:43 1990as3.0针对两个独立swf的通信有个专门的类-----Lo ... -
检测FlashPlayer版本的代码
2014-12-22 14:17 776var versionString:String = Cap ... -
as3.0中复制mc影片剪辑的方法
2014-05-23 16:17 1025方法1——反射方法: var ClassRef:Class ... -
as3类库大全
2014-05-04 16:14 834类库大全地址: http://www.adrianparr ... -
AIR版截屏跟QQ截屏一样 (源码)
2014-04-14 16:54 934两个Demo,一个是Flex项目,另一个是ActionScri ... -
AS3将网址加入收藏夹
2014-01-20 14:22 1065AS3: ExternalInterface.call(& ... -
FLASH AS3 TextField 文本超链接控制示例(新闻列表)
2013-10-30 15:23 1080这两天想自行设计一个唐酷的AS3+XML新闻列表(http:/ ... -
AS3动态文本框支持单击事件
2013-10-30 15:21 1138AS3动态文本框支持单击事件 用TextEvent.LINK ... -
AS3 变灰的代码
2013-08-23 15:32 767var filter:Filter = new ColorMa ... -
AS3 String to Date
2013-08-12 15:57 1723var formatterString:String = &q ... -
greensock又出重量级产品 - LoaderMax
2013-05-27 11:30 12201、线性化下载过程 一般的下载队列,是一口气推入n个load ...
相关推荐
"FLASH AS3 loading" 指的是使用AS3来实现加载功能,这通常涉及到动态地加载外部资源,如图像、声音、视频或SWF文件。在AS3中,加载资源是通过Loader类来实现的,它提供了处理不同类型媒体加载的接口。 首先,...
在Flash AS3编程中,加载(Loading)是关键功能之一,允许开发者动态地在应用程序运行时引入外部资源,如图像、SWF文件、XML或文本数据。本资源包含了一个名为"loading_as3"的示例项目,其中包括了loading_as3.fla...
Flash CS3 AS3.0影片Loading制作
在AS3中,加载外部文件涉及到从服务器或本地磁盘读取并解析数据,将其转换为可以在应用程序中使用的格式。这包括但不限于图像、音频、视频、文本文件、SWF文件等。通过加载外部文件,开发者能够动态地更新内容,提高...
本文将深入探讨如何使用CSS3来实现这两种功能,并解释它们在实际应用场景中的重要性。 首先,让我们来了解什么是“Loading加载”。Loading加载通常出现在网页或应用程序加载初期,它是一个可视化的提示,告知用户...
在这个"钟表型动画Loading源码"中,我们可以深入探讨AS3.0的几个关键知识点。 首先,`Loading`在编程中通常指的是加载指示器,它向用户展示应用程序或资源正在加载的过程。在AS3.0中,我们可以通过`Loader`类来实现...
在Android应用开发中,"加载"(Loading)通常是指一种用户界面元素,它在应用程序执行耗时操作(如网络请求、数据库操作等)时显示,以告知用户程序正在处理数据并提供反馈。自定义Loading可以帮助开发者创建更具...
标签中的“X-Frame-Opti in a frame b”可能是指在B框架(frame)中遇到了X-Frame-Options的问题,这可能是由于尝试在B框架内加载了一个设置了X-Frame-Options的页面,导致加载失败。 根据提供的压缩包子文件的文件...
6. **dist和related**:`dist`目录通常包含编译后的、可以直接在生产环境中使用的资源,如minified版本的CSS和JS文件。`related`可能包含与项目相关的其他资源或示例文件。 7. `index.html`和`readme.html`是网页的...
在Vue.js应用中,路由管理器Vue Router是一个至关重要的组件,它使得页面间的导航变得简单且优雅。在实际开发中,我们经常需要在路由切换时添加加载效果,以提升用户体验,尤其是在处理异步数据或者等待资源加载时。...
"CSS3实现Loading加载,页面遮罩层的应用"这一主题,旨在探讨如何利用CSS3来创建吸引人的加载动画以及有效的页面遮罩层,以提升用户的浏览体验。 1. CSS3 Loading加载: - `@keyframes` 规则:这是CSS3中定义动画...
Loading,即“加载”,是指在用户打开或切换网页、应用时显示的一种视觉提示,表明内容正在加载中。Flash Loading则是利用Adobe Flash软件制作的加载动画,它不仅能够告知用户等待过程,还可以通过精美的设计提高...
以上就是使用CSS3创建超酷Loading页面时需要掌握的一些核心技术点。在实践中,结合HTML结构和JavaScript交互,可以创造出更多创新和独特的Loading动画效果。通过不断学习和实践,开发者可以充分利用CSS3的潜力,为...
在实际应用中,我们需要考虑不同浏览器对CSS3特性的兼容性,确保Loading动画能在各种环境下正常工作。可以借助工具如Autoprefixer来自动添加必要的浏览器前缀,或者使用渐进增强的方法,确保基础的加载效果在所有...
在本文中,我们将深入探讨如何使用CSS3创建一个炫酷的3D立方体预加载loading特效,这是一个在网页加载过程中吸引用户注意力的实用设计。这个特效利用了CSS3的先进特性,包括3D变换、过渡和动画,为用户提供了一种...
在网页设计中,使用具有透明背景的GIF loading动画有以下几个优点: 1. **融合性**:透明背景使loading动画能无缝地融入任何背景,无论是纯色还是复杂的图像。 2. **视觉效果**:动态的加载动画可以吸引用户的注意力...
在Android应用开发中,为了提供良好的用户体验,我们经常需要在数据加载、网络请求或其它耗时操作时显示全局Loading页面,以告知用户程序正在进行后台处理并提示他们稍等片刻。本篇文章将深入探讨如何在Android中...
在“css3漏斗型Loading加载动画”项目中,CSS3的几个关键特性被充分利用,包括: 1. **选择器3**:更加强大的选择器允许开发者精确地定位和操作页面上的元素,比如使用`:nth-child()`来控制每一段动画的顺序。 2. ...
在Java的Swing库中,鼠标事件(Mouse Events)是用户与GUI组件交互的重要部分,而loading效果则通常指的是在处理耗时操作时显示的一种视觉指示,以告知用户程序正在运行且尚未完成。本篇文章将深入探讨如何在Swing...
这段代码表示选择器`.loading-spinner`中的元素会应用名为`rotate`的动画,持续2秒,以线性速度(即速度恒定)执行,并且无限次循环。 在实现loading效果时,我们可以创建一个简单的HTML结构,如一个带有背景色或...