AS3:分组精灵

时间:2010-01-04 23:42:09

标签: flex actionscript-3

我有一些sprite,我试图通过addChild()组合在一起。 这是一些伪代码,展示了我想要实现的目标:

import nav.text.TextSprite; 

spr1:Sprite = new Sprite();
spr1.graphics.clear();
spr1.graphics.beginFill(0x000000);
spr1.graphics.drawRect(0,0,100,100);

txt1:TextSprite = new TextSprite;
txt1.text = "hello";

spr1.addChild(txt1);

//this is what isn't working:  the sprite is hidden but not the text
spr1.alpha = 0.0;

由于某种原因,我似乎无法正确绘制TextSprite ...它只是一个添加了TextField的Sprite。我认为一切都在那里工作,但我可能有一些错误w / r / t确保所有TextSprites孩子都正确分组。

我应该提到它确实正确定位;但alpha属性不会以我期望的方式响应。 I.E.,TextField附加到的精灵将允许设置alpha,但文本仍然可见。

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

您很可能只需要在文本字段中嵌入字体。尝试更改spr1的x,y并查看txt1是否随之移动。如果它真的是一个孩子,那么它将回应新职位。

答案 1 :(得分:1)

您需要使用textfield.embedFonts = true嵌入字体。如果您的文本在执行此操作时消失,您将如何嵌入字体(使用Flex嵌入元标记或使用Flash IDE?),检查您是否未更改字体粗细(将文本设置为粗体)只嵌入了正常的权重字体)如果你使用的是文本格式,请务必在设置textfield.text属性后应用文本格式。你可以使用textfield.defaultTextFormat来解决这个问题。