我已經動態地創建了一堆文本字段,其數量取決於xml輸入。文本框需要啓用按鈕,所以我認爲最簡單的解決方案是將它們放入動畫片段和按鈕模式中的動畫片段。AS3 flash CC我想設置文本字段的父MovieClip的寬度
層次結構是這樣的:主(擴展影片剪輯) - > klankoefening(電影剪輯) - > Textfieldparent(電影剪輯) - >文本字段
我有一個變量maxw其中包含了最大的文本框的寬度和我希望我所有的Textfieldparents都有這個寬度。
我試圖做這樣的:
//generate textfields
keuzes = new XMLList(lijstOpties.categorie.(@cat == catname));
var nrs:int = keuzes.keuze.length(); //aantal keuzemogelijkheden
var maxw:int = 0; //grootste breedte tf, nodig voor bepalen breedte knoppen
for (var nr:int = 0; nr < nrs; nr++) {
var tf:TextField = createTextfield(werkfmt);
tf.text = keuzes.keuze[nr].toString();
tf.autoSize = "center";
tf.background = true;
tf.backgroundColor = 0xffcc33;
tf.border = true;
tf.borderColor = 0x000000;
tf.name = "keuzetf";
tf.selectable = false;
tf.x = 0;
tf.y = 0;
if (tf.width > maxw) {maxw = tf.width;}
var tfcontainer:MovieClip = new MovieClip();
tfcontainer.buttonMode = true;
tfcontainer.name = keuzes.keuze[nr].toString();
tfcontainer.addChild(tf);
klankoefening.addChildAt(tfcontainer,nr);
}
for (var an:int = 0; an < 3; an++) {
var mcs:MovieClip = klankoefening.getChildAt(an) as MovieClip;
mcs.width = maxw;
trace ("mcs " + mcs.width);
var mtf:TextField = mcs.getChildAt(0) as TextField;
trace ("mtf " + mtf.text);
}
跟蹤結果是
mcs 32.05
mcs 33
mcs 21.25
,我覺得奇怪,因爲我在第二圈表示,寬度爲所有Textfieldparents應設置爲maxw。發生什麼事?
如果在將按鈕添加到movieClip之後設置按鈕的寬度,則將在其按鈕內伸展TextField。 – Glitcher