簡體   English   中英

as3,使用參數在舞台上實例化對象

[英]as3, instantiate object on stage with parameters

如果我有一個擴展MovieClip的對象,例如,假設它是某種自定義構建的文本字段類(InputField)。

InputField構造函數有2個參數(placeholderText:String = null,displayAsPassword:Boolean = false)。

如果我將影片剪輯拖到舞台上,它將被構建,但不會設置參數。 有沒有辦法在構建時設置它們?

為了清楚起見,我希望能夠將這個影片剪輯拖到舞台上,而不是創建它並從后面的代碼中執行addChild()。

您可以初始化符號本身內部的變量,然后在將它們放置到舞台上后立即進行設置。 您還可以從.as文件中訪問這些變量。

編輯:要擴展注釋,當您在已設置的類中聲明兩個變量時,只需將它們設置為您默認的任何值,例如:

class MyInputField
{
  // Will always set following variables to default values, 
  // whether using addChild or dragging symbol onto stage.
  var placeholderText:String = "Enter text here..";
  var displayAsPassword:Boolean = false;

  // If needed, store text field via constructor
  var tf:TextField;

  // Constructor
  function MyInputField()
  {
  }
}

我不知道這是不是一個好主意,但你可以創建一個擴展InputField的類。 您可以更改super函數內的構造函數參數。

 public function CustomInputField() {
   super("hello", true); 
 }

但是,我會使用與您現在在構造函數中使用的參數相同的公共函數init()

順便問一下你重新發明輪子? 輸入字段創建了一千次。 看看寺廟圖書館 ,它有很好的可擴展組件和表格類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM