读书人

flash旋钮添加超级链接网址超级链接

发布时间: 2013-01-02 13:08:44 作者: rapoo

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.xml文件,与Flash文件保存在同一目录,内容如下
<LinkBtn>
<btn1>http://community.csdn.net/</btn1>
<btn2>http://www.google.com.hk</btn2>
<btn3>http://www.blueidea.com</btn3>
</LinkBtn>

第六步:完成,输出你的Flash测试一下吧。

读书人网 >Flash

热点推荐