2010-09-26 143 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

相關問題