- 浏览: 108202 次
- 性别:
- 来自: 广州
最新评论
文章列表
在将显示对象直接添加到舞台显示列表或将包含显示对象的子树添加至舞台显示列表中时调度。 以下方法会触发此事件:DE>DisplayObjectContainer.addChild()DE>、DE>DisplayObjectContainer.addChildAt()DE>。
很多时候,可视类初始化的时候,要用到stage属性,则必须使用Event.ADDED_TO_STAGE事件,有的时候,连文档类初始化时,也需要用到Event.ADDED_TO_STAGE,原因是这个swf将被其它的文件加载,如果直接在初始化函数内使用stage属性,单独发布是 ...
package {
import flash.errors.*;
public class MyError extends Error {
private const eId:int = 15;
private const eMessage:String = "Error Msg";
private var gerTime:Date;
public function MyError(repToServer:Boolean=true) {
super(eMessage, eId);
this.gerTime = new ...
hasEventListener()方法:
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
willTrigger()方法:
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器.
hasEventListener() 与 willTrigger()的区别是:hasEventListener() 只检查它所属的对象,而 willTrigger() 检查整个事件流以查找由type参数指定的事件。
为了判断事件流的上游是否能处理某个事件,应该借助“willTrigger()”方法进行检查。当事件流的节点对象调用“ ...
因为AS3的垃圾回收是自动的,如果你某个对象存在被引用,或者有没有被清除的事件侦听,当你unload 和 removedChild时都不能彻底的从内存中移除它。
所以我们在写代码的时候一定要记得:
声明了一个变量或引用要记得及时清空,如:
var _mc=_movieClip
......
_mc=null
如果有一个数组,里面保存的是许多其他对象的引用,那么光设置这个数组为null是不行的,还要设置其每一个元素的值也为空arr[i]=null,比如
var obj:Object = {}; 比 var obj:Object = new Object(); 好var arr:Array = []; 比 var arr:Array = new Array(); 好for (var i:int=0, len=arr.length; i<len; i++) 比 (头一次看到这种写法)for (var i:int=0; i<arr.length; i++) 好if (myObj != null) 比
为什么使用对象池?
我们先来看一个例子:假设游戏当中,玩家按下鼠标,那么游戏场景中出现一个美女A,代码是var A:美女A=new 美女A();addChild(A); 放开鼠标美女被清除,代码是:A.dispose();A=null;如果某个玩家不停地点击鼠标,那么我们的代码将不停的NEW 美女A()而NEW 美女A()其实是很费时消耗系统性能这是问题就来了,假设NEW 美女A()消耗了2KB内存,玩家疯狂点一千次,那么我们的美女类就不断地创建,清除,创建,清除,那么我们的游戏内存直接增加1000*2kb,因为 FLASH是托管的GC清理资源,具体什么时候清理只有GC知道 ...
复制舞台上的影片剪
反射方法: 需要复制的舞台对象,库元件必需绑定类,否则返回的是MovieClip,复制出来的对象是一个空的MovieClip
var ClassRef:Class = getDefinitionByName(getQualifiedClassName(t_mc)) as Class;
var clone_mc:DisplayObject = new ClassRef();
addChild(clone_mc);
复制Loader加载的swf
ByteArray深度复制
var byteLoader:URLLo ...
1. 你对MVC的理解??
答:MVC就是模型 视图 控制器的缩写 视图和用户交互 通过事件导致控制器改变 控制器改变导致 模型改变 或者控制器同时改变两者 模型改变导致视图改变 或者视图改变 潜在的从模型里面获得参数 来改变自己。
Mvc就是一种模型 一种编程思想。
请解释下MVC模式
MVC(Model-View-Controller),即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层――模型层、视图层、控制层。
视图(View):代表用户交互界面,MVC设计模式对于视图的处 ...
“先泛后精,先浅后深”的道理可是知易行难,所以常常会给技术上的小细节纠缠着,搞得晕晕乎,其中“回调函数”就是其中之一了,虽然回用,但是老是不明白其中的含义,众多的书本也说得隐晦不清。直到不久前看到一篇文章才总算比较清晰了解。 概括起来,回调机制包括两部分:服务执行者和服务方式制定者。 1. 服务执行者先制定服务规范; 2.服务方式制定者然后按照规范制定服务方式; 3.然后执行者按照这个方式提供服务。 回调函数的方式是把函数指针的作为参数传递进去,所以规范就是约定函数的参数类型,个数。
这篇文章如下: ...
流式传输视频文件
若要流式传输 Flash Media Server 中的文件,可以使用 NetConnection 和 NetStream 类连接到远程服务器实例并播放指定的流。要指定实时消息传递协议 (RTMP) 服务器,请向 NetConnection.connect()方法传递所需的 RTMP URL(例如“rtmp://localhost/appName/appInstance”),而不传递 null。若要播放指定 Flash Media Server 中的指定实时流或录制流,请为 NetStream.play()方法传递一个由 NetStream.publish()发布的实时数据的 ...
1.获得某个实例对象的类名:getQualifiedClassName (实例名字符串表达式);
stage.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandle);
function mouseOverHandle(e:Event):void {
trace("over");
// 返回instance**之类的
trace(e.target.name);
//返回元件名
trace(getQualifiedClassName(e.target));
}
...
as3的事件机制很好用了。但要用好,用对,就得详细了解它的事件模型。本文将深度探索as3事件的各个方面
事件模型
as3的事件系统包括 dispatchers(派发器),listeners(监听器)和event object(事件对象)。它们的关系用一句话概 ...
package {
import flash.display.MovieClip;
public class Test extends MovieClip {
private var xmlMain:XML = <root></root>;
private var arrData:Array = [["motion1","1"],["motion2","2"],["motion3","3"],["motion4" ...
MVC模式是”Model-View-Controller”的缩写,中文翻译为”模式-视图-控制器”。MVC应用程序总是由这三个部分组成。 Event(事件)导致Controller改变Model或View,或者同时改变两者。只要Controller改变了Models的数据或者属性, 所有依赖的View ...
单例模式的优点:
1.一个静态实例,把共享的属性方法能在任何一个程序集调用,信息有效的实现操作。(数据以一个静态实例的模式贯通全局)
2.有效降低大模块之间的耦合度。
(注意:缺点就是耗费内存资源。单例不能滥 ...