flash cs3中关于访问父级parents变量的实例
- 2022-02-22
- 来源/作者: PS123.NET收集 / 佚名
- 3 次浏览
为了说明访问父级变量的问题,做了下面的实例:先来看看对象的层级关系。
在舞台上有一个对象
father-|-mytext
|-varfather
|-ason-|-abutton
我们现在要做的工作是:单击按钮abutton输出变量varfather的值和mytext中的文本
================================================================
开工:
第一步:在库中建立一个MC命名为son,为其添加一个按钮,并命名为abutton。
第二步:为son这个MC建立关联的代码:son.as
package{
import flash.display.MovieClip;
import flash.events.*;
public class son extends MovieClip{
//public var abutton:Button //备注1
public function son(){
abutton.addEventListener(MouseEvent.CLICK,onclick)//备注2
}
private function onclick(evt:MouseEvent){
var AAA:Object =this.parent; //备注3
trace("变量varfather的值是"+AAA.varfather);
trace("文本框mytext中的值是"+AAA.mytext.text);
}
}
}
第三步:库中建立一个MC叫做father,添加一个动态文本框mytext
第四步:为father添加代码:father.as
package{
import flash.display.MovieClip;
import flash.text.TextField;
import son;
public class father extends MovieClip{
public var varfather:Number=new Number;
public function father(){
varfather=123;
var ason:son=new son();
this.addChild(ason); //备注4
}
}
}
第五步:拖放一个father的实例到舞台上,测试。
单击按钮看到输出:
备注==========================================
备注1://public var abutton:Button 原本在flash9中是需要这句的,flash cs3中不要了
备注2:为按钮添加单击事件处理函数
备注3:建立一个空对象用来代表当前对象的父对象,如果直接写trace(this.parent.varfather)会出错的
备注4:新建立一个son的实例ason并把它作为当前对象的子对象