2010-09-26 84 views
0

我在舞台上有一个实例,在设计时从我的图库中拖出。此实例链接到构造函数接受参数的自定义类。如何将参数传递给ActionScript 3中的舞台实例?

package 
{ 
    import flash.display.MovieClip; 
    import flash.media.Sound; 

    public class PianoKey extends MovieClip 
    { 
     var note:Sound; 

     public function PianoKey(note:Sound) 
     { 
      this.note = note; 
     } 
    } 
} 

显然,试图运行的代码,是会产生以下参数计数错误:

ArgumentError: Error #1063: Argument count mismatch on PianoKey(). Expected 1, got 0.

有什么办法来设置上已手动拖动到舞台的实例变量?

回答

1

这可能对你有所帮助。在自定义类中只需要很少的更改

package 
{ 
    import flash.display.MovieClip; 
    import flash.media.Sound; 

    public class PianoKey extends MovieClip 
    { 
     var note:Sound; 

     public function PianoKey(note:Sound=null) 
     { 
      if(note!=null) 
      { 
       this.note = note; 
      } 
     } 
    } 
} 
1

我认为做到这一点的唯一方法是制作一个PianoKey组件。这将具有可以设置的组件属性。尽管如此,他们确实很痛苦。

1

为什么不使用setter?

 
package 
{ 
    import flash.display.MovieClip; 
    import flash.media.Sound; 

    public class PianoKey extends MovieClip 
    { 
     var _note:Sound; 

     public function PianoKey() 
     { 
     } 

     public function set note(value:Sound) 
     { 
      this._note = value; 
     } 
    } 
} 
+0

我希望能够在一次完成所有操作以简化实例化代码,但是很好。 – Soviut 2010-09-27 03:10:18

相关问题