ActionScript3如何控制使用htmlText属性嵌入动态文本框中的图像?

本站原创文章,转载请注明: 转载自zrong's Blog,原文 ActionScript3如何控制使用htmlText属性嵌入动态文本框中的图像?,欢迎使用文章源码进行转载。

本站转载文章会标明[转],转载请注明原始作者文章地址。



2010年9月4日:在Flash Player 10中,已经可以使用新的TLF框架原生支持图片的嵌入和精确的控制了,详见以下几篇文章:

Flash Text Engine、Text Layout Framework在Flex、Flash中的实现

在Flex中实现聊天表情图片支持-资料篇

在Flex中实现聊天表情图片支持-实战篇


从Flash Player7开始,我们就可以通过动态文本框的htmlText属性,使用<img>标签来嵌入图像或者swf影片。在Flex的LiveDoc中,可以找到这样一段描述<img>标签的“id”属性的文字:

id Specifies the identifier for the imported image. This is useful if you want to control the embedded content with ActionScript.

这说明,可以通过制定id属性,让ActionScript控制嵌入的图像。

但是,怎样控制呢?我在Flex的帮助中并没有找到相关的信息,倒是在Flash CS3的“学习 Adobe Flash 中的 ActionScript 2.0”章节中找到了相关的说明

Flash 为每个 标签创建一个新的影片剪辑并在 TextField 对象中嵌入该影片剪辑。 标签的 id 属性允许您将实例名称分配到创建的影片剪辑。这允许您使用 ActionScript 控制该影片剪辑。

Flash 创建的影片剪辑作为子级影片剪辑添加到包含该图像的文本字段中。

在帮助中使用这样的代码来控制嵌入TextField中的swf文件:

?View Code ACTIONSCRIPT
this.createTextField("textField_txt", 10, 0, 0, 300, 200);
textField_txt.html = true;
textField_txt.htmlText = "Here's an interesting animation: <img id="animation_mc" src="animation.swf" alt="" />";
stop_btn.onRelease = function() {
    textField_txt.animation_mc.stop();
};

但是,这毕竟是ActionScript2的方法,在ActionScript3是行不通的。在ActionScript3中如何做呢?有人知道么? :neutral:


发表评论?

7 条评论。

  1. 感谢提醒 :razz: 也感谢你的这篇文章

  2. 呵呵,说来也巧,我刚写完那篇日志后,去看google reader时就发现你提的问题,于是就…. 哈哈

  3. 其实这个问题是来源于我做的文字聊天室,想给它加上表情功能。结果发现嵌入TextArea中的img并不是以“嵌入式”方式排版,而是以“四周型”方式排版的。要想控制img的位置,看来只能改变它的x、y值了。
    TextArea没有getImageReference方法,又要继承它,然后调用它的保护属性,麻烦 :???:

  4. :em20: :em19: :em22

  5. 这个id 可以实现成动态的么?我需要插入不同的内容,而且都是动态加载的,请问尝试过么、

  6. 建议你看上面提到的“在Flex中实现聊天表情图片支持-实战篇”一文。TLF的控制更加精确,实现你的需求肯定是没问题的。

发表评论


请输入上面的验证码