Penso q esse código ñ esteja a funcionar pela seguinte razão:
Como nos "eventos" estás a declarar funções sem parâmetros de passagem, a variável
i dentro das funções está como "undefined".
Podes resolver o problema dos eventos do MC da seguinte maneira:
(...)
this["mc_"+i].onRollOver = function() {
this.onEnterFrame = function () { // <--
(...)
Mas depois para
this["cap_"+i] continuas com o mesmo problema a ñ ser q declares
i como uma variável global.
Se bem percebi o que pretendes no teu caso a melhor maneira é teres um array com tds as legendas, e apenas um cap_mc com uma
textBox lá dentro.
Assim o mesmo MC serve para tds as imagens.
Eu testei este código e parece funcionar razoávelmente bem, mas depois percebi pq querias um "cap_mc" para cada legenda. Como está tem um pequeno problema com o _alpha, mas deve dar para contornar.
/***********************Exemplo para 4 imagens***************/
legenda = new Array("imagem 1", "imagem 2", "imagem 3", "imagem 4");
for (var i = 1; i<=4; i++) {
this["mc_"+i].onRollOver = function() {
//Tira o último char do instance name do mc para saber a legenda a atribuir.
var n = substring(this._name, this._name.length, 1);
cap.textBox.text = legenda[n-1];
this.onEnterFrame = function() {
cap._alpha += (100-cap._alpha)/3; //<--Rever esta parte
cap._x -= (cap._x-_xmouse)/2;
cap._y -= (cap._y-_ymouse)/2;
};
};
this["mc_"+i].onRollOut = function() {
cap.textBox.text = "";
this.onEnterFrame = function() {
cap._alpha += (0-cap._alpha)/3;//<--Rever esta parte
};
};
}
Espero que seja isto. :wink:
Edit: em relação à variável "i", parece q a razão afinal é esta:
Vê o último post do Grettir neste tópico->
http://forum.redcodestudio.com/viewtopic.290.html