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

         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;
		}
		
	}
}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值