Foros del Web » Creando para Internet » Flash y Actionscript »

pasar valor de variable a funcion

Estas en el tema de pasar valor de variable a funcion en el foro de Flash y Actionscript en Foros del Web. Tengo el siguiente codigo en el cual creo una lista de noticias duplicando un movieclip y llenando con info que traigo de un archivo PHP. ...
  #1 (permalink)  
Antiguo 23/05/2005, 11:20
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 21 años, 2 meses
Puntos: 10
pasar valor de variable a funcion

Tengo el siguiente codigo en el cual creo una lista de noticias duplicando un movieclip y llenando con info que traigo de un archivo PHP.
Dentro del movieclip hay un boton al cual le asigno una funcion agregar() con un parametro:

Código:
/* funcion de ejemplo */

function agregar(que) {
	mostrar.text = que;
}


var recibir:LoadVars = new LoadVars();
recibir.load("news.php");
recibir.onLoad = function(ok) {
	if (ok) {
		tit = this.titulo.split("***");
		des = this.descripcion.split("***");
		fot = this.foto.split("***");
		for (i=0; i<tit.length; i++) {
			titulardi = tit[i];
			nuevo = news.duplicateMovieClip("news"+i, i);
			nuevo.titulo.text = tit[i];
			nuevo.descripcion.text = des[i];
			nuevo.foto.loadMovie(fot[i]+".jpg");
			nuevo._y = (i*_root.news._height)+(i*8);
			nuevo.agregar.onRelease = function() {
				agregar(this._parent.titulo.text);
			};
		}
	} else {
		mostrar.text = "error al cargar los datos";
	}
};
El problema es que si por ejemplo paso una variable como parametro, esa variable la busca dentro del movieclip y, obviamente, no la encuentra.
La pregunta es ¿como puedo pasar el valor de la variable y no la variable en si?

ejemplo:

Código:
for (i=0; i<2; i++) {
	nuevo = news.duplicateMovieClip("news"+i, i);
	nuevo.agregar.onRelease = function() {
		agregar(i);
	};
}

/* resulta */

agregar(0);
agregar(1);
agregar(2);
__________________
oohh... quisiera ser godines!!!
  #2 (permalink)  
Antiguo 23/05/2005, 12:01
Avatar de PumasCampeon  
Fecha de Ingreso: junio-2004
Ubicación: @gs.mx
Mensajes: 240
Antigüedad: 19 años, 10 meses
Puntos: 0
Quieres meter una variable dentro de cada mClip: nuevo? : en tu bucle if (ok) debe ir, no? : nuevo.variableClip = des[i], o nuevo.variableClip = i; p.ej. para que aparezca el contenido en tu campo de texto:
nuevo.onRelease ---> agregar (this._name.variableClip);
Código:
function agregar(que) {
	mostrar.text = que;  //contenido de variableClip
}
__________________
lo que se es una gota de lluvia, comparado con tu inmenso mar :-)
  #3 (permalink)  
Antiguo 23/05/2005, 12:18
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 21 años, 2 meses
Puntos: 10
gracias por responder Pumas... Si bien lo que me dices funciona para el ejemplo que di, yo estoy buscando algo un poco mas global.
Osea lo que quiero es pasar:

Código:
var i=2;
nuevo.agregar.onRelease = function() {
	agregar(i);
};
y que no me lo tome literalmente agregar(i) sino que interprete la variable y la pase como una cadena o un numero. Para que la funcion del boton quede agregar(2).
Que creo que es la forma en la que trabajan la mayoria de los lenguajes de programacion.

Saludos
__________________
oohh... quisiera ser godines!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:15.