1

我需要在我的应用程序中使用 TextArea,因为它支持 TLF 框架并允许用户编辑文本。

我的问题是这个 TextArea 必须是 MovieClip 的子项,但我无法使其工作并且 TextArea 没有显示。

这是我的代码示例:

var mc:UIMovieClip = new UIMovieClip();
mc.graphics.clear();
mc.graphics.lineStyle(2, 0, 1);
mc.graphics.drawRect(0, 0, 400, 300);
mc.width = 400;
mc.height = 300;

var textArea:TextArea = new TextArea();
textArea.width = 350;
textArea.height = 250;
textArea.text = "Hello world!";
mc.addChild(textArea);
myCanvas.rawChildren.addChild(mc);

当我将 TextArea 直接添加为画布的子项时,即当我替换行时,TextArea 组件正确显示

mc.addChild(textArea);

与以下

mainCanvas.addChild(mc);

TextArea 需要成为 MovieClip 的子项的原因是我正在使用与 MovieClips 一起使用的外部库。如果我使用 UIMovieClip 而不是 MovieClip,这个技巧也不起作用。

有人可以解释为什么在那种情况下不会显示 TextArea 吗?是否有任何解决方法来获得所需的结果?(我尝试使用 UIComponent 作为中间子级但没有成功)

4

1 回答 1

0

如果MovieClip您使用的是从 Flash 编译的,我们最近使用的一个很好的解决方案是将其实际导出为 Flex 友好的容器: http ://www.webkitchen.be/2009/02/11/video-tutorial -create-flex-container-components-with-flash-cs4/

如果没有,请尝试扩展ContainerMovieClip而不是UIMovieClip,并设置其content属性。

于 2012-09-12T05:11:57.913 回答