2008-11-20 35 views
0

这个主题很好地解释了这一切。我从一个MovieClip的第一帧开始,只用一个Bitmap覆盖整个舞台。舞台上的矢量形状出现在动态文本域

然后当用户点击一个按钮时,它会转到第二帧,并且矢量形状在舞台上覆盖图像的一部分。同时,通过代码,我在舞台上放置了一个输入文本框。

问题是,动态创建的文本框出现在矢量形状的下面(它是在舞台上绘制的)!这似乎是ActionScript 3的一个新问题,因为我没有Flash CS3和ActionScript 2的这个问题。

我试过把Textfield放在不同的图层上,但无济于事。如何让文本框出现在矢量形状上?

回答

0

我已经试过了。这就像这一点,就是维持我迁移我的框架,为3

我已经确定,这个问题不知何故在于方式的Flash渲染什么是舞台上的古怪东西。当调用some_mc.play();向舞台引入新对象时(同时以编程方式将其他对象放置在舞台上时),手动放置在舞台上的对象将始终直接渲染到任何以编程方式创建的对象上。这可能不是每个人的经验,但这就是我所看到的。

我的解决办法:拨打some_mc.play();,等待10毫秒,然后在舞台上放置其他物品。

+0

缺乏理解并不会让事情变得古怪。 – Aaron 2010-10-06 23:09:21

0

将矢量形状放入动画片段中。然后致电:

setChildIndex(myTextField, numChildren - 1); 
0

您可以尝试通过代码添加矢量形状,然后添加文本字段。

var vectorShape:Sprite = new Sprite(); 
addChild(vectorShape); 

var textField:TextField = new textField(); 
addChild(textField); 

这将把矢量形状放在文本框下面。

0

这听起来像你的麻烦的产生是由于设计时间向量和运行文本框进入同一帧的存在,所以它在那里出现了计时问题,当你可以移动它们。

最简单的事情可能是避免这个问题。一种方法是创建一个空的影片剪辑(在舞台上,在设计时)成为文本字段的持有者,将其分层放在任何位置,并在运行时在其中创建文本。另一种解决方案是在第1帧中创建矢量或文本字段(或两者),但在必要时保持它/它们不可见。

相关问题