[英]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.