添加到显示列表时,AS3 RadioButton标签会发生明显变化

时间:2010-09-14 17:33:37

标签: flash actionscript-3

我将一组RadioButton组件实例化为Sprite,然后将其添加到显示列表中。当后者发生时,我可以看到RadioButtons的标签从serif变为sansserif的字体 - 但我没有任何代码可以在任何地方使用。这种情况发生在组件实际实例化之后很久,当它们(通过其父级)被添加到displaylist中时。

在Question_UI.answersContainer.answer中:

answerUI = new RadioButton();
answerUI.group = rbg;
answerUI.label = text;
answerUI.tabIndex = id;
answerUI.textField.autoSize = TextFieldAutoSize.LEFT;

...后

ui.questionHolder.addChild(currentQuestion.ui);

有什么想法吗?我已经对显而易见的事情进行了三重检查,但根本没有关于标签字体的代码。它似乎只与被添加到displaylist中有关。

2 个答案:

答案 0 :(得分:1)

嗯,我假设你的意思是重新教育radiobuttons(也就是说,将它们从舞台上的精灵中移除并直接添加到舞台上 - 否则它们将不会被看见而你看不到变化)。

您是否考虑过样式继承?如果您没有设置直接在radiobutton本身使用的字体,它将从其父级继承它。因此,当您将其重新显示为具有不同默认字体的displayobject时,它将继承更改。

答案 1 :(得分:0)

很抱歉要说明显而易见的但是如果你不将它们添加到显示列表中,你怎么知道发生了什么变化?

从serif到sans serif的变化提醒我在尝试访问不可用的字体时会发生什么,并且显示默认为Times。

我从来没有经历过类似的事情,但是当你第一次添加按钮时,你的应用程序无法找到sans serif字体,然后以某种方式找到它......确实很奇怪!