flash按钮添加超级链接网址,超级链接网址从外部读取
在文档里做两个图层:顶层放代码,下层放一个按钮,取名为link_btn。
...............
代码:
function getHttpFile(url){
var loader:URLLoader = new URLLoader();
link_Btn.addEventListener(MouseEvent.CLICK, openWeb);
function openWeb(event:MouseEvent):void {
var myload:URLRequest=new URLRequest("url.txt");
//url.txt的内容是:"u1=http://www.blogxxzww.ccoo.cn"
//loader.dataFormat=URLLoaderDataFormat.TEXT;//读取普通文本
loader.dataFormat=URLLoaderDataFormat.VARIABLES;//读取值对格式的文本
loader.load(myload);
loader.addEventListener(Event.COMPLETE, loader_complete);
}
function loader_complete(e:Event):void {
var m:String =loader.data.u1;//输出值对格式的文本
//var m:String=loader.data;//完全输出
var url:URLRequest=new URLRequest(m);
navigateToURL(url);
}
..............................
在外部文本文件中输入你要保存的网址。我的例子:
文本名为url.txt,内容是:"u1=http://www.blogxxzww.ccoo.cn"
放在与flash文档同一目录下。
但是运行后报错如下:
**错误** 场景=场景 1, 图层=图层 4, 帧=1:第 5 行: 无法加载类或接口'URLLoader'
var loader:URLLoader = new URLLoader();
**错误** 场景=场景 1, 图层=图层 4, 帧=1:第 8 行: 无法加载类或接口'flash.events.MouseEvent'
function openWeb(event:MouseEvent):void {
**错误** 场景=场景 1, 图层=图层 4, 帧=1:第 9 行: 无法加载类或接口'URLRequest'
var myload:URLRequest=new URLRequest("url.txt");
**错误** 场景=场景 1, 图层=图层 4, 帧=1:第 17 行: 无法加载类或接口'flash.events.Event'
function loader_complete(e:Event):void {
**错误** 场景=场景 1, 图层=图层 4, 帧=1:第 20 行: 无法加载类或接口'URLRequest'
var url:URLRequest=new URLRequest(m);
ActionScript 错误总数:5 报错:5
请教各位高手如何解决,急,非常感谢~!
[解决办法]
一个简单的教程吧
第一步:新建AS3文件,保存,命名为LinkBtn.fla
第二步:在舞台上建立三个按钮,分别取实例名为 btn1 btn2 btn3
第三步:为LinkBtn.fla指定文档类为 LinkBtn,并保存
第四步:建立LinkBtn.as文件,与LinkBtn.fla保存在同一目录,键入如下代码
package {
import flash.display.Sprite;
import flash.events.Event;
import flash.display.SimpleButton;
import flash.net.URLLoader;
import flash.events.IOErrorEvent;
import flash.events.SecurityErrorEvent;
import flash.net.URLRequest;
import flash.events.MouseEvent;
import flash.net.navigateToURL;
public class LinkBtn extends Sprite {
private var _btn1:SimpleButton;
private var _btn2:SimpleButton;
private var _btn3:SimpleButton;
private var _link:XML;
public function LinkBtn() {
this.addEventListener(Event.ADDED_TO_STAGE,onAddedToStage);
}
private function onAddedToStage(e:Event):void{
this._btn1 = this.getChildByName("btn1") as SimpleButton;
this._btn2 = this.getChildByName("btn2") as SimpleButton;
this._btn3 = this.getChildByName("btn3") as SimpleButton;
this._btn1.addEventListener(MouseEvent.CLICK,btnOnClick);
this._btn2.addEventListener(MouseEvent.CLICK,btnOnClick);
this._btn3.addEventListener(MouseEvent.CLICK,btnOnClick);
var uloader:URLLoader = new URLLoader();
uloader.addEventListener(Event.COMPLETE,onComplete);
uloader.addEventListener(IOErrorEvent.IO_ERROR,onIOError);
uloader.addEventListener(SecurityErrorEvent.SECURITY_ERROR,onSeError);
uloader.load(new URLRequest("LinkBtn.xml"));
}
private function onComplete(e:Event):void{
try{
this._link = new XML(e.target.data);
}catch(err:Error){
trace("LinkBtn.xml 格式错误");
}
}
private function onIOError(e:IOErrorEvent):void{
trace("LinkBtn.xml 文件不存在");
}
private function onSeError(e:SecurityErrorEvent):void{
trace("安全冲突,无法加载 LinkBtn.xml");
}
private function btnOnClick(e:MouseEvent):void{
var btn:SimpleButton = SimpleButton(e.target);
if(this._link){
var tmp:XMLList = this._link.child(btn.name);
if(tmp.length()>0 && tmp[0].text() != ""){
flash.net.navigateToURL(new URLRequest(tmp[0].text()),"_blank");
}
}
}
}
}
<LinkBtn>
<btn1>http://community.csdn.net/</btn1>
<btn2>http://www.google.com.hk</btn2>
<btn3>http://www.blueidea.com</btn3>
</LinkBtn>