flash中as的问题

来源:百度知道 编辑:UC知道 时间:2024/05/23 20:54:27
在写一个as,j里边有个几百个按钮,名称是j1_btn----j200_btn,想用代码实现鼠标悬停在哪个按钮上就显示按钮的名字(不要_btn),比如悬停在j5_btn上就显示j5,悬停在j100_btn就显示j100,应该如何写代码呢?或者告诉我,我应该把下边的代码如何改一下?

function showTip(str) {
_root.createTextField("title",0,_xmouse,_ymouse,100,100);
with (title) {
border = true;
borderColor = 0x000000;
background = true;
backgroundColor = 0xffff99;
autoSize = "left";
selectable = false;
text=str;
}
}

function hiddenTip() {
title.removeTextField();
}
for(var i:Number=0;i<25;i++)
{
this["j"+i+"_btn"].onRollOver=function():Void{ showTip(this); }
this["j"+i+"_btn"].onRollOut=function():Void{ hiddenTip(); }
}

首先建议你把程序创建的文本对象“title”改一下名字,我测试的时候发现"title"是系统用的,所以我在下面的函数里将首字母大写了。
思路:获取按钮名称的“_”的位置,然后提取从开始到这个位置的字符串赋给文本就好了。

function showTip(btn:Button) {
var No:Number = btn._name.indexOf("_");
var s1:String = btn._name.slice(0, No);
Title.text = s1;
}