发新话题
打印

[求救] onRollOver 的问题.?

onRollOver 的问题.?

var goalArr = new Array();
goalArr = ["第一", "第二", "第三"];
for (i=0; i <goalArr.length; i++) {
var ball = _root.attachMovie("ball", "ball"+i, i+100);
ball._x = i*20;
ball._y = 50;
ball.txt = goalArr;
ball.onRollOver = function() {
trace(Object(this));
trace(goal.txt);
};
}
我想实现的效果鼠标接触每个复制出来的mc,则对应的trace(goal.txt).
可上面的代码trace(Object(this));可以正常定位对应的MC,可trace(goal.txt);总是显示goalArr数组最后一个的内容.
该如何修改呢?

附件

ball.fla (32 KB)

2008-6-23 02:28, 下载次数: 18

TOP

trace(this.txt)



楼主的文件是CS3格式的,用FLASH8的朋友打不开。
复制内容到剪贴板
代码:
var goalArr:Array = ["第一", "第二", "第三"];
function onRollOverHandler(_evt:Event):void {
var _ball:Ball=_evt.target as Ball;
trace(_ball.txt);
}
for (var i:uint =0; i<goalArr.length; i++) {
var ball:Ball =new Ball;
addChild(ball);
ball.x = i*20;
ball.y = 50;
ball.txt = goalArr[i];
ball.addEventListener("rollOver",onRollOverHandler);
}

附件

ball[1].fla (32 KB)

2008-6-23 06:53, 下载次数: 17

ball[1].swf (1.92 KB)

2008-6-23 06:53, 下载次数: 11

TOP

不错,很不错。

TOP

很感谢版主,可我想用as2的方式去实现.请问该如何改?

TOP

引用:
原帖由 irara 于 2008-6-23 10:58 发表
很感谢版主,可我想用as2的方式去实现.请问该如何改?
请看2楼回帖的第一行。

TOP

引用:
原帖由 终极讨厌 于 2008-6-23 11:05 发表


请看2楼回帖的第一行。
完全明白了.谢谢.
只是把改成trace(this.txt);即可.

TOP

很好很好

TOP

发新话题