- 浏览: 877275 次
- 性别:
- 来自: 青岛
文章分类
最新评论
-
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 1165public static function chan ... -
AS3.0 关于用URLLoader加载外部图片
2015-04-02 17:09 923很多人都想当然的直接用URLLoader加载外部图片然后通 ... -
Flash AS3 让<鼠标点击>穿透上层透明区域,下层对象触发<鼠标点击>事件
2017-10-24 13:54 902问题描述:1. 在Stage上放置2个Sprite, A ... -
关于 AS3 Socket 通信基础(六)
2017-10-24 14:02 6836.处理使用Sockets时候引发的错误. 在程序 ... -
关于 AS3 Socket 通信基础(五)
2015-04-01 16:50 8055.与Socket服务器断开,或者当服务器想与你断开的时候发 ... -
关于 AS3 Socket 通信基础(四)
2015-04-01 16:50 7034.同Socket服务器进行 ... -
关于 AS3 Socket 通信基础(三)
2015-04-01 16:49 11883.从Socket服务器读数据 ... -
关于 AS3 Socket 通信基础(二)
2015-04-01 16:49 880对于Socket对象来说,通过 ... -
AS3 Socket 通信基础(一)
2015-04-01 16:48 1027我们先来搞清几个概念,这有助于我们更加了解网络通信! 1、 ... -
as3.0针对两个独立swf的通信有个专门的类-----LocalConnection
2015-01-16 17:43 1941as3.0针对两个独立swf的通信有个专门的类-----Lo ... -
检测FlashPlayer版本的代码
2014-12-22 14:17 742var versionString:String = Cap ... -
as3.0中复制mc影片剪辑的方法
2014-05-23 16:17 991方法1——反射方法: var ClassRef:Class ... -
as3类库大全
2014-05-04 16:14 804类库大全地址: http://www.adrianparr ... -
AIR版截屏跟QQ截屏一样 (源码)
2014-04-14 16:54 864两个Demo,一个是Flex项目,另一个是ActionScri ... -
AS3将网址加入收藏夹
2014-01-20 14:22 1023AS3: ExternalInterface.call(& ... -
FLASH AS3 TextField 文本超链接控制示例(新闻列表)
2013-10-30 15:23 1009这两天想自行设计一个唐酷的AS3+XML新闻列表(http:/ ... -
AS3动态文本框支持单击事件
2013-10-30 15:21 1076AS3动态文本框支持单击事件 用TextEvent.LINK ... -
AS3 变灰的代码
2013-08-23 15:32 701var filter:Filter = new ColorMa ... -
AS3 String to Date
2013-08-12 15:57 1681var formatterString:String = &q ... -
greensock又出重量级产品 - LoaderMax
2013-05-27 11:30 11441、线性化下载过程 一般的下载队列,是一口气推入n个load ...
相关推荐
FLASH AS3 loading
Flash CS3 AS3.0影片Loading制作
FLASH AS3 loading 源文件 源代码
AS3 loading 外部文件的方法,很实用
应用移动H5领域。CSS3 实现Loading加载,页面遮罩层的应用。
as3.0 开发的钟表型动画Loading源码
vue写的confirm确认框,loading加载中,message提示消息 在vue的模板里引用 import message from './tips/message/index'; import confirm from './tips/confirm/index'; import loading from './tips/loading/index...
应用移动H5领域。CSS3 实现Loading加载,页面遮罩层的应用。
css3应用范围越来越广,特别是在如今谷歌浏览器逐步替代IE的情况下 今天特意给大家推荐一款css3 loading加载效果 当然,他并不是纯css3的,抱歉标题可能会有些歧义,但是偶尔的一点点js也是可以忽略的啦 ...
描述: css3代码与js插件一同实现的loading效果 原理比较简单,效果也比较好看 因使用较少,本案例暂只提供观赏 这里就不解释如何使用了
28个纯css3 加载loading动画特效,只需要引入CSS3文件 方便使用。
3款漂亮的Flash Loading加载效果
这是一组效果非常炫酷的纯CSS3 Loading加载动画特效。这组loading动画共有27种不同的效果。每一种loading动画都是通过CSS3的keyframes帧动画来完成的,每一个加载动画都构思新颖,效果非常的酷。
CSS3超酷的Loading页面
waitMe是一款jQuery和CSS3超酷loading加载动画特效插件。该loading加载动画特效使用CSS3制作了14种不同的loading动画效果,并且你还可以使用图片作为loading动画。
这是一款基于Bootstrap 3的内置loading指示器的提交按钮特效。该提交按钮可以选择13种loading指示器效果,在点击提交后以不同方式来显示loading指示器动画。
CSS3网页Loading
CSS3八种loading动画
之前我们分享过一些不错的CSS3进度条插件,当然也分线过一款Loading动画纯CSS3加载Loading动画图 12款创意设计,效果非常酷。今天我们要来分享一款非常欢乐的CSS3 Loading动画,Loading动画由4个旋转的小球组成,...
关于Loading加载动画,我们已经分享过很多了,这里给出一篇文章《15个超炫酷...今天我们来分享一个基于纯CSS3的发光圆环Loading加载动画,配合深色的背景,Loading动画更是呈现出3D立体的视觉效果,非常值得大家使用。