as3 如何让两个数组一一对应
如:有两个数组varbtn:Array=[btn1,btn2,btn3,btn4];vars:Array=["s1","s2","s3","s4"];如何让这两个数组一一...
如:有两个数组
var btn:Array=[btn1,btn2,btn3,btn4];
var s:Array=["s1","s2","s3","s4"];
如何让这两个数组一一对应,如何实现下面的效果呢。
点击btn1时,mc跳到s1;
点击btn2时,mc跳到s2;
一次类推。 展开
var btn:Array=[btn1,btn2,btn3,btn4];
var s:Array=["s1","s2","s3","s4"];
如何让这两个数组一一对应,如何实现下面的效果呢。
点击btn1时,mc跳到s1;
点击btn2时,mc跳到s2;
一次类推。 展开
展开全部
利用下标啊,for循环遍历一下就行了。
for(var i:Int = 0;i<btn.length;++i)
{
btn[i].addEventListener(MouseEvent.CLICK,clickHandler);
}
/////////////////////////////第一种函数
function clickHandler(c:MouseEvent):void
{
var t:int = btn.indexOf(c.target)
//mc 跳到 s[t];
}
////////////////////////////第二种(如果按钮名字是btn1,btn2...)
function clickHandler(c:MouseEvent):void
{
//mc跳到s[int(c.target.name.slice(3)) - 1]
}
for(var i:Int = 0;i<btn.length;++i)
{
btn[i].addEventListener(MouseEvent.CLICK,clickHandler);
}
/////////////////////////////第一种函数
function clickHandler(c:MouseEvent):void
{
var t:int = btn.indexOf(c.target)
//mc 跳到 s[t];
}
////////////////////////////第二种(如果按钮名字是btn1,btn2...)
function clickHandler(c:MouseEvent):void
{
//mc跳到s[int(c.target.name.slice(3)) - 1]
}
追问
谢谢啊 可惜我都已经采纳完了 百度要是能采纳两答案就好了
追答
没事,能帮到你就好。
展开全部
用一个侦听处理就行了,取按钮对应数组中的索引,再去取对应的String
以下代码手写的没经过调试,只说明一下意思:
btn1.addEventListener(MouseEvent.CLICK, onButtonClick);
btn2.addEventListener(MouseEvent.CLICK, onButtonClick);
....
....
function onButtonClick(event:MouseEvent):void
{
var button:Object = event.currentTarget;
var index:int = btn.indexOf(button);
var targetLabel:String = s[index];
mc.gotoAndPlay(targetLabel);
}
以下代码手写的没经过调试,只说明一下意思:
btn1.addEventListener(MouseEvent.CLICK, onButtonClick);
btn2.addEventListener(MouseEvent.CLICK, onButtonClick);
....
....
function onButtonClick(event:MouseEvent):void
{
var button:Object = event.currentTarget;
var index:int = btn.indexOf(button);
var targetLabel:String = s[index];
mc.gotoAndPlay(targetLabel);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询