函数取名用阵列方法?

楼主: mucoci (奇宝~)   2013-12-09 22:31:13
晚安
假设小弟画面有30个相同的元件
要作成鼠标移到不同位置上的元件上 即显示不同的提示框
元件为playitem[k].mc
要执行的函数为 visibleno[k]
小弟在这一段前,一开始让visibleno变成阵列,接着再把它变成"文字"
var k:int=1;
for (k=1; k <= 31;k++)
{
var visibleno:Array=new Array();
visibleno=new textField();
后来失败了 错误在于
playitem[k].mc.addEventListener(MouseEvent.MOUSE_OVER,visibleno[k]);//监听
function visibleno[k](me:Event):void //函数名为visibleno[k]
^^^^^^
这里不能有[],改成[1]也不行,
显示是格式的问题
果然把visibleno[k],换成visibleno1就可以了
但其他的k就作不到了
{
tipbox[k].visible= true;//显示第k个提示框
}
}
作者: cjcat2266 (CJ Cat)   2013-02-10 05:35:00
var visibleno:Array = new Array(30); 就好了..."listener 不能是 Null" 原因是你在addEventListener才定义 visibleno[k] = function
作者: fixxxxx (修)   2013-02-10 16:24:00
for (k=1; k <2 ;k++) 循环结束后k就已经是2了
作者: KawasumiMai (さあ、死ぬがいい)   2013-02-11 15:36:00
for的定义,不是即将变2所以跳开,而是因为变2了所以k<2不成立所以跳开,for外trace(k)一定是2
作者: puivujh (眼残)   2013-02-18 09:30:00
为什么不把 k 丢给 function,然后在 function 里做处理?

Links booklink

Contact Us: admin [ a t ] ucptt.com