有木有 高手给小妹看看 这是什么问题?

xierong2011 2012-07-31 09:41:10
flash中有8个按钮 分别实例名为 btn0 btn1 。。到 。。 btn7 想实现的功能是 点击不同按钮 读取 XML中相应网址 弹出网页。
XML文件为:

<?xml version="1.0" encoding="gb2312"?>
<root>
<btnurl name="btn1" weburl="http://www.baidu.com"/>
<btnurl name="btn2" weburl="http://www.baidu.com"/>
<btnurl name="btn3" weburl="http://www.baidu.com"/>
<btnurl name="btn4" weburl="http://www.baidu.com"/>
<btnurl name="btn5" weburl="http://www.baidu.com"/>
<btnurl name="btn6" weburl="http://www.baidu.com"/>
<btnurl name="btn7" weburl="http://www.baidu.com"/>
<btnurl name="btn8" weburl="http://www.baidu.com"/>
</root>

AS 文件为:

package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequest;
import flash.net.navigateToURL;

/**
* by wally7.com
* 2012-7-30
*
**/
public class Main extends Sprite
{
public var configXML :XML;
public function Main()
{
loadSimple()
}
private function loadSimple( ):void
{
var temploader:URLLoader = new URLLoader( );
temploader.dataFormat = URLLoaderDataFormat.TEXT;
temploader.load(new URLRequest("btnurl.xml"));
temploader.addEventListener(Event.COMPLETE,hd_configXMLComplete);
}
private function hd_configXMLComplete( e:Event ):void
{
configXML = new XML(e.currentTarget.data);
initBtn( );
}
private function initBtn( ):void
{
for( var i:int = 0; i<8; i++)
{
this.getChildByName("btn"+i).addEventListener(MouseEvent.CLICK,hd_item);
}
}
private function hd_item( e:MouseEvent ):void
{

var connUrl:URLRequest=new URLRequest(configXML.btnurl[int(e.currentTarget.name.split("btn"))].@weburl);
navigateToURL(connUrl);

}
}
}


大家帮忙 看看什么问题? 小妹感激不尽。。。。
...全文
128 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
diffmaker 2012-08-01
  • 打赏
  • 举报
回复
写在AS文件中,不触发鼠标事件,应该是在你绑定事件时,UI元素还没有加载好。也就是说绑定事件时,找不到那8个按钮。你将
public function Main(){
loadSimple()
}
改一下:
public function Main(){
this.addEventListener(Event.ADD_TO_STAGE,onAddToStage);
}
private function onAddToStage(e:Event):void{
loadSimple();
}
试一下。
xierong2011 2012-07-31
  • 打赏
  • 举报
回复
怎么没有人啊 伤心。。。。
xierong2011 2012-07-31
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

var connUrl:URLRequest=new URLRequest(configXML.btnurl[int(e.currentTarget.name.split("btn")[1])].@weburl);
[/Quote]

恩 那块确实错了 但是写在as文件里 不触发鼠标事件 最后新建一个图层代码写在那里面 却没问题。。 问题已经解决了 但是还是感谢你 100分 直接送你了
diffmaker 2012-07-31
  • 打赏
  • 举报
回复
var connUrl:URLRequest=new URLRequest(configXML.btnurl[int(e.currentTarget.name.split("btn")[1])].@weburl);
diffmaker 2012-07-31
  • 打赏
  • 举报
回复
不好意思,没仔细看,你的代码似乎没有问题,你遇到的是什么状况?描述一下。
diffmaker 2012-07-31
  • 打赏
  • 举报
回复
这是一个常见的问题了,你这样为按钮绑定动作,最后所有的按钮都指向最后一个连接了。

2,278

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计/Flash/Silverlight 开发 Flash流媒体开发
社区管理员
  • Flash流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧