命运践踏win

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

while(numChildren) 

{

    removeChildAt(0)

}//只要舞台有子对象,就删除第一个,相当于清空舞台。。

舞台属性:

//定义舞台的帧频 
var frameRate = 12; 
//定义舞台的宽和高 
var stageWidth = 550; 
var stageHeight = 400; 
//访问stageWidth变量 
trace("舞台的宽度:" + stage.stageWidth); 

在ActionScript 3.0中,舞台做为顶级容器,所有的显示对象都直接或间接的包含在舞台中,所以主时间轴也包含在其中。

舞台有自己的名字:stage, 这个名字实际上是变量名,即stage是控制舞台的变量。 通过stage就可以动态的控制舞台. 由于stage是系统自定义的,所以就不需要用户再去定义,因此可以直接使用变量stage,…
// 输出stage=[object Stage] ,object代表对象,Stage表示类. 所以stage是Stage类的对象. 
trace("stage="+stage); 
类可以看出是创建对象的模板,既舞台stage是由Stage类创建的. 因此以后就可以把舞台成为舞台对象了.实际上, 任何变量都与类有关.当用trace函数输出变量时,会自动调用toString()方法. 对于不同的类,它的toString()方法返回的信息就有所不同. 像Stage类的toString()方法返回的是"[object 类名]"的信息. 
舞台是保存数据的容器,并且舞台容器中又有很多小的容器,所以舞台是容器的容器.通过这种容器的嵌套,就可以保存非常复杂的数据. 像这种复杂数据的东西一般被称为负责对象.要访问对象中的变量,需要使用点语法,形式如下: 
例如,对于舞台这个复杂对象来说,它的对象名就是stage,可以用下面的代码来定义和访问舞台中的变量: 
//定义舞台的帧频 
var frameRate = 12; 
//定义舞台的宽和高 
var stageWidth = 550; 
var stageHeight = 400; 
//访问stageWidth变量 
trace("舞台的宽度:" + stage.stageWidth); 
对象中的变量在面向对象编程中称为属性, 属性由属性名和属性值组成.   属性名其实就是变量名,属性值就是变量值. 访问对象的属性的形式为:   
    对象名.属性名 
应当说明的是,舞台的帧频,宽高是在[属性]面板中设置的,而与前面用var定义的孤立(root)变量的设置无关.而通过点语法虽然可以读取舞台容器中的非孤立变量值,但是由于Flash为这些变量规定了只读属性,所以暂时尚无法通过类似"stage.stageWidth = 800"这样的语句为舞台中的变量重新赋值。 
主时间轴与舞台类似,也是容器的容器.即变量root保存的也是复杂数据,主时间轴也是用类创建的.管理主时间轴的类叫MainTimeline类. 
//输出root = [object MainTimeline] 
trace("root = "+root); 
前面写的代码都是在帧的[动作]面板中, 所以定义的变量都应属于主时间轴.可以这样认为,写在帧中的变量都在MainTimeline类中,而root是由MainTimeline类创建的对象,这些变量都成了root的属性,因此可以用"root.属性"的形式来访问这些变量、 例如: 
//定义变量 
var speed = 10; 
//直接访问变量 
trace("speed="+speed); 
//把变量当成属性访问 
trace("speed="+root.speed); 
另外,MainTimeline类是动态类, 由动态类创建的root可以动态地添加属性: 
//向root动态添加属性propl 
root.prop = 5; 
//尝试直接访问propl 
trace(prop); 
//通过点语法访问 
trace(root.prop); 
从上面测试的两段程序可以看出,在主时间轴上用var定义的变量会呗添加到MainTimeline类中,成为主时间轴root的属性, 而通过root动态添加的属性并没有添加到MainTimeline类中. 
这里特别要注意,Stage类不是动态类,不能向舞台stage动态的添加属性,下面的代码是错误的。 
stage.prop = 5; 
另外,由类创建对象的过程称为实例化,所以由类创建的对象也称为实例,因此, 可以称舞台stage是Stage类的实例,主时间轴root是MainTimeline类的实例,

posted on 2012-11-09 20:39  命运践踏win  阅读(233)  评论(0编辑  收藏  举报