当前位置: 主页 > 平面设计 > flash cs3中关于访问父级parents变量的实例

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并把它作为当前对象的子对象