今天群内有朋友问为何实现不了按钮加超链接,包括一些朋友提及的解决办法,遂将AS3加超链问题再做总结。
AS3中将打开网页动作统一用navigateToURL方法实现,需要说明的是,除了注意定义格式外,URLRequest还是比较强大的,可支持String、textField、Array及直接赋值链接地址4种方式。4种方式都做了总结和编写。

以下列出4种方法,可根据实际需要选用:

import fl.controls.Button;

import flash.net.URLRequest;

import flash.net.navigateToURL;



var btn1:Button= new Button();

addChild(btn1);


btn1.addEventListener(MouseEvent.CLICK, this.onClickBtn4);


function onClickBtn1(e:MouseEvent) {


//用String方式赋值

var m_urlList:String=new String("http://www.towncool.com");

var m_request:URLRequest = new URLRequest(m_urlList);

navigateToURL(m_request,"_blank");


}


//用textField文本方式赋值

function onClickBtn2(e:MouseEvent) {


var m_urlList:TextField=new TextField();

m_urlList.text="http://www.towncool.com";

var m_request:URLRequest = new URLRequest(m_urlList.text);

navigateToURL(m_request,"_blank");


}


function onClickBtn3(e:MouseEvent) {


//用数组方式赋值,适用于调用按钮执行多个链接

var m_urlList:Array=["http://www.towncool.com","http://www.towncool.net","http://www.baidu.com"];

var m_request:URLRequest = new URLRequest(m_urlList[2]);

navigateToURL(m_request,"_blank");


}


function onClickBtn4(e:MouseEvent) {


//直接赋值

var m_request:URLRequest = new URLRequest("http://www.towncool.com");

navigateToURL(m_request,"_blank");


}