【问题标题】:stage dimensions from imported class导入类的舞台尺寸
【发布时间】:2013-09-19 23:43:53
【问题描述】:

想从导入的类中调用 stage.stagewidth/stage.stagehieght。 这是我的代码希望任何人都可以修复它或告诉我该怎么做

package 
 {
  import flash.display.MovieClip;
  import multyLoader;
  public class program extends MovieClip
    {
     private var theLoader:multyLoader = new multyLoader();
     public function program()
       {
      // constructor code-----------------
      theLoader.My_Loader(mc_loaderHolder,myXML.IMAGE[1].@URL);
       }
     }
 }

multyLoader.as 文件代码是

 package 
 {
  public class multyLoader extends MovieClip
   {
    public function multyLoader()
     {
      trace(any);
     }
    public function My_Loader(loading_holder,myLoaderURL:String)
     {
      // pla pla code
      loading_holder.x = (stage.stageWidth - loading_holder.width) / 2; // get Error #1009 or stage not found.
      loading_holder.y = (stage.stageHeight - loading_holder.height) / 2; // get Error
     }      
   }
 }

【问题讨论】:

    标签: actionscript-3 flash dimensions stage


    【解决方案1】:

    如果你想从你的multyLoader 实例中引用舞台,那么它需要首先出现在显示列表中。最安全的方法是监听ADDED_TO_STAGE 事件,并且仅在该事件触发后才引用该阶段。

    public function My_Loader(loading_holder, myLoaderURL:String){
        addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
    }
    
    protected function onAddedToStage(e:Event){
        removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
        loading_holder.x = (stage.stageWidth - loading_holder.width) / 2;
        // etc...
    }
    

    您也可以确保仅在确定 theLoader 已添加到显示列表后才调用 My_Loader 函数。但它并不总是像看起来那么简单。

    第三个选项,如果您不希望theLoader 出现在显示列表中,无论出于何种原因,您都可以将theLoader 传递给父类对舞台的引用。您可以将其作为参数添加到您的 My_Loader 函数中。

    public function My_Loader(loading_holder, myLoaderURL:String, myStage:Stage){
        loading_holder.x = (myStage.stageWidth - loading_holder.width) / 2;
        // etc...
    }
    

    像这样从父类调用它:

    theLoader.My_Loader(mc_loaderHolder, myXML.IMAGE[1].@URL, this.stage);
    

    【讨论】:

      猜你喜欢
      • 2016-08-06
      • 2013-12-14
      • 2013-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-24
      • 1970-01-01
      • 2011-11-02
      相关资源
      最近更新 更多