Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/05/2009, 18:19
Avatar de Mojorochi
Mojorochi
 
Fecha de Ingreso: mayo-2009
Mensajes: 40
Antigüedad: 12 años
Puntos: 0
Pregunta guardar instancia en una variable y usarla en una sola funcion

Resulta que estoy haciendo un mapa, en el cual cada pedacito que lo compone tiene su animacion propia y se activa cuando se pone el mouse sobre cada uno (se levanta y brilla).
Encontre hace algunas horas un codigo para usar solo clips de pelicula animados, y hacerlos crecer mediante una funcion,y asi para evitar crear botones y tener poner automaticamente el efecto del raton modificando esa etapa (la del raton encima).
El problema radica en que son demasiados pedazos como para repetir la funcion de cada uno, que si son varias lineas de codigo y estoy buscando una forma de escribir una sola funcion para todos, es decir, quiero encontrar una forma de que la funcion reconozca el clip sobre el que me estoy posicionando y se ejecuten las acciones de la funcion para ese clip.

Para ser mas claro, aqui esta el codigo de un solo clip (el codigo está en el primer frame de la capa donde estan los clips):

Cita:
//este codigo es para hacer que cresca un objeto instaciado con actionscript 2
//cuando se le pase el raton por encima, y que se reproduzca su propia animacion

mc342.onRollOver=function(){//Empieza la funcion RollOver
//mc342 es la instancia del clip que crecera cuando se pase el raton
numero.text="342";
//'numero' un texto dinamico al que le agrego el nombre del terreno que se maneja

this.gotoAndPlay(2);//una linea para hechar andar el clip, nada importante
this.swapDepths(1);//para posicionar hasta arriba el clip

this.onEnterFrame=function(){//codigo para crecer
if(this._xscale<130){//que escala crecerá
this._xscale=this._yscale=this._xscale+3}
else{delete this.onEnterFrame}}}

mc342.onRollOut=function(){//cuando se quita el raton codigo para decrecer
this.onEnterFrame=function(){
this.gotoAndPlay(11);
if(this._xscale>100){
this._xscale=this._yscale=this._xscale-3}
else{delete this.onEnterFrame}}
}//aqui termina la funcion del RollOver
el problema como dije antes, es que tengo muchos pedacitos o clips independientes y para cada uno he decidido crear el mismo codigo una y otra vez... y ya llevo como 500... me estoy desesperando...

lo que quiero es hacer UNA SOLA VEZ esa funcion, y tener alguna forma de que dicha funcion reconozca el movie clip sobre el que estoy, algo como usar un listener de algun tipo y guardar el nombre de instancia del mc ('mc342' por ejemplo) y usar el valor de la variable dentro de la funcion... pero aun no doy con la solucion o la sintaxis

agradecere sugerencias...


Una cosa mas, podria haber hecho crecer de uno en uno los clips pero queria adentrarme en el mundo del actionscript porque crei que seria mas facil, ademas de que con ese codigo el crecimiento es exacto para cada objeto y eso me gusta.

Gracias de nuevo