您的位置:首页 > Web前端 > HTML

ActionScript 3.0 学习(六) AS3 文本类TextField属性htmlText学习

2015-08-16 14:42 671 查看
         AS 3.0程序中对于文本的显示控制是由TextField类完成的,其有两种类型,由Type属性来定义:如果type = TextFieldType.DYNAMIC,那么这个文本框是用户无法编辑的动态文本,这是默认值;如果type = TextFieldType.INPUT,那么这个文本框是用户可以编辑的输入文本。

        本节讲TextField的htmlText属性,可以直接将HTML格式的文本赋值给该属性。HTML中的超链接必须以“event:”开头,将超链接要发送的信息放置在它的后面,以字符串形式表现。这样,当用户单击超链接时,会发出一个TextEvent事件TextEvent.LINK。"event:"后面的字符串信息会包括在这个事件对象的text属性中,供监听器使用。可以定制自己的字符串协议,让字符串包含不同的行为信息。以下代码摘自《AS3殿堂之路》。

        package
{
import flash.display.Sprite;
import flash.events.TextEvent;
import flash.net.URLRequest;
import flash.net.navigateToURL;
import flash.text.TextField;

public class TextLearn extends Sprite
{
private var _txt:TextField;
public function TextLearn()
{
_txt = new TextField();
_txt.width = 300;
_txt.wordWrap = true;
addChild(_txt);
_txt.htmlText =
"单击<u><a href='event:geturl|http://www.budai.com/|_blank'>百度</a></u>在"+
"新窗口打开一个到www.baidu.com链接。<br/>"+
"单击<u><a href='event:load|someswf.swf'>这儿</a></u>则是在Flash中加载一个动画。<br/>"+
"单击<u><a href='event:move|10'>这儿</a></u>则是将文本框移动10个像素";
_txt.addEventListener(TextEvent.LINK, clickLink);
trace(_txt.htmlText);
}

private function clickLink(evt:TextEvent):void
{
trace(evt.text);
var cmdArray:Array = evt.text.split("|");
trace(cmdArray);
switch(cmdArray[0])
{
case "geturl":
geturl(cmdArray[1], cmdArray[2]);
break;
case "load":
loadswf(cmdArray[1]);
break;
case "move":
movetxt(cmdArray[1]);
break;
default:
trace(cmdArray);
}
}
//在新窗口中打开超链接
private function geturl(url:String, target:String):void
{
var tmpRequest:URLRequest = new URLRequest(url);
navigateToURL(tmpRequest, target);
}
//加载SWF
private function loadswf(url:String):void
{
trace(url);
}
//移动文本框
private function movetxt(distance:Number):void
{
_txt.x += distance;
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: