Document Object 与 TimeLine functions 与 场景元件 的关系
来源:互联网 发布:java 获取今天凌晨 编辑:程序博客网 时间:2024/04/28 12:09
以后使用包来练习:
文件结构: Trial.fla
+
|___DayN (文件夹名)
+
|_____Main.as
在 as3 Preview 版中,时间线上写函数大都会有错误或警告
从概念上理解,时间轴上的函数变量,应该同时是 Document Class (或者应该说是 Object) 的成员
以下代码:
Day3 / Main.as
import flash.display.MovieClip;
public class Main extends MovieClip...{
public function Main()...{
trace("=====Main constructing...
s="+s);
trace("+++++++before try call a() in Main");
a();
trace("+++++++after try call a() in Main");
}
public function sayHello()...{
trace("++++++++Main::sayHello called...");
}
private function sayHi()...{
trace("++++++++I am s private function of class Main!");
}
}
}
Trial.fla
第一帧AS:
trace("global functino a called...");
trace("timeline variable s="+s);
}
var s:String="timeline variable ";
a();
sayHello();
this.sayHi();
显示结果为:
s=null
+++++++before try call a() in Main
global functino a called...
timeline variable s=null
+++++++after try call a() in Main
global functino a called...
timeline variable s=timeline variable
++++++++Main::sayHello called...
++++++++I am s private function of class Main!
结论:
时间轴代码在Document Class 构造函数执行之后,
而且表现类似于 Document Class 的一个成员函数(事实上就是其一个成员函数?)
但在时间轴上定义的局部变量却不像Document Class 的成员属性,
且慢!!!!
如果不是成员属性,应该发现警告才对呀(而不是为null)!!
修改下Main.as上的代码:
在 public function Main(){ 下加一句: s="define in Main() ";
其余代码不变,得到输出为:
s=this one define in Main
+++++++before try call a() in Main
global functino a called...
timeline variable s=this one define in Main
+++++++after try call a() in Main
global functino a called...
timeline variable s=timeline variable
++++++++Main::sayHello called...
++++++++I am s private function of class Main!
这样基本上明白了,时间轴上的变量也是Document Class 的一个成员
可以推出,整个执行过程如下:
1,获取时间轴声明(包括函数和变量声明,同时声明并定义的取其声明)+document class 声明
2,把上面获取的声明合成一个类,并实例化之,使时间轴上的this指向此对象
3,执行此对象的构造函数,并把时间轴上的非声明语句放在构造函数的最后面执行
(当不止一帧有函数时怎么执行?按时间轴的移动分别执行各帧的语句,可以在第2帧定义一个语句或执行一个函数试试)
有了这些认识,再定义一个时间轴的 MovieClip 拖在第一帧(不要放在左上角) 命名为 TLMC
在Main(){下加以下语句:
TLMC.x=0;
TLMC.y=0; //(为了看到效果,TLMC不要放在左上角)
执行,可见到TLMC位置变化了,即,场景中的MC也是Document Class 的成员。
- Document Object 与 TimeLine functions 与 场景元件 的关系
- 场景与层的关系
- 场景与层的关系
- 接口与object的关系
- flash 事件流 与 元件层次 的关系
- 监控镜头与监控场景的关系
- Interface与Object之间的关系问题
- 对于数组与Object的一些关系
- 数值数组与Object数组的关系
- 关于接口与Object 类的关系
- Object类:hashCode() 与 equals() 的关系
- 关于接口与Object 类的关系
- Document-View Interaction Functions视图与文档之间的通讯函数
- 线性元件与非线性元件
- jquery对象 与 document 对象的互为转换关系
- 元件引脚直径与PCB焊盘孔径对应关系
- OSG 视景器、漫游器、摄像机与场景的关系
- redis 与关系型数据库的适合场景
- 软件生命周期模型及其选择(1)
- 如何寫性能測試用例
- 再听Beyond
- 英雄无敌3中我所喜爱的英雄
- 原始模型模式
- Document Object 与 TimeLine functions 与 场景元件 的关系
- 測試用例
- 測試報告
- 打印收集(打印成功!!!!)
- spring问题:初始化bean失败
- ControlDesigner - Accessing Web.Config at Design Time(转)
- 【源代码】数字图像处理部分源码
- ASP.NET Session详解
- C#对话框全接触