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

Como convierto estas 6 lineas a funcion? (Solucionado)

Estas en el tema de Como convierto estas 6 lineas a funcion? (Solucionado) en el foro de Flash y Actionscript en Foros del Web. HOla gente, estoy en una situacion en la q necesito convertir cierto codigo porq se repite muchiiiisimas veces y se me hace engorroso, cada vez ...
  #1 (permalink)  
Antiguo 07/03/2008, 16:58
 
Fecha de Ingreso: marzo-2008
Mensajes: 39
Antigüedad: 16 años, 1 mes
Puntos: 0
Como convierto estas 6 lineas a funcion? (Solucionado)

HOla gente, estoy en una situacion en la q necesito convertir cierto codigo porq se repite muchiiiisimas veces y se me hace engorroso, cada vez q lo cambio tener q cambiarlo en todos los frames.

Aca les dejo un ejemplo de un boton en un frame, el codigo es practicamente para los 7 botones en 7 frames. Osea tengo q hacer 42 cambios por 7 lineas de codigo, enfin muchos cambios.

Código:
galeriabtn.onPress = function() {
	_root.x += 2;
	_root.pagina.fondo.createEmptyMovieClip("galeria",1000000);
	_root.pagina.fondo.galeria._x = -39;
	_root.pagina.fondo.galeria._y = -20;
	_root.pagina.fondo.galeria.swapDepths(_root.x);
	_root.pagina.fondo.galeria.loadMovie("galeria.swf");
	new mx.transitions.Tween(_root.pagina.fondo.galeria, "_alpha", mx.transitions.easing.Strong.easeIn, 0, 100, 1, true);
	gotoAndStop(5);
};
Me gustaria armar una funcion del tipo

Código:
function seccion(nombre,frame) {
	_root.x += 2;
	_root.pagina.fondo.createEmptyMovieClip(NOMBRE,1000000);
	_root.pagina.fondo.NOMBRE._x = -39;
	_root.pagina.fondo.NOMBRE._y = -20;
	_root.pagina.fondo.NOMBRE.swapDepths(_root.x);
	_root.pagina.fondo.NOMBRE.loadMovie("NOMBRE.swf");
	new mx.transitions.Tween(_root.pagina.fondo.NOMBRE, "_alpha", mx.transitions.easing.Strong.easeIn, 0, 100, 1, true);
	gotoAndStop(FRAME);
};
Les puse en mayusculas lo q tendria q reemplazar el parametro. Mi problema es q no estoy muy ducho con el AS y por ejemplo en la parte de las instancias no se si va entre comillas, entre parentesis...

Les agradeceria q me ayuden, calculo q para alguien q sepa reglas basicas de programacion no debe ser muy complicado.

Saludos!

MAxi

Última edición por nukerojo; 08/03/2008 a las 13:08
  #2 (permalink)  
Antiguo 07/03/2008, 21:24
Avatar de carlxime  
Fecha de Ingreso: marzo-2007
Ubicación: México
Mensajes: 180
Antigüedad: 17 años, 1 mes
Puntos: 6
Re: Como convierto estas 6 lineas a funcion?

Hola nukerojo,

Podrías ponerlo de esta forma:

Código:
function seccion(nombre,frame) {
	_root.x += 2;
	var clipo = _root.pagina.fondo.createEmptyMovieClip(nombre,1000000);
	clipo._x = 100;
	clipo._y = 100;
	clipo.swapDepths(_root.x);
	clipo.loadMovie(nombre + ".swf");
	new mx.transitions.Tween(clipo, "_alpha", mx.transitions.easing.Strong.easeIn, 0, 100, 1, true);
	gotoAndStop(frame);
}
Saludos.
  #3 (permalink)  
Antiguo 08/03/2008, 11:58
 
Fecha de Ingreso: marzo-2008
Mensajes: 39
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Como convierto estas 6 lineas a funcion?

Ante todo gracias por la rapida respuesta, pero no me funciono. Vamos a un ejemplo mas sencillo para ver si puedo entender lo de las funciones.

Tengo 3 mcs apilados sobre otro y un boton. cuando toque el boton quiero q el mc q esta por debajo de los otros 3 venga al frente. entonces tengo el siguiente codigo

Código:
function adelante(clip) {
	var clipo = clip;
	_root.x += 2;
	clipo.swapDepths(_root.x);
}

boton.onPress = adelante(mc2);
el problema es q sin q toque el boton la funcion se eejcuta y el mc viene al frente. Porq ocurre esto?
  #4 (permalink)  
Antiguo 08/03/2008, 12:27
Avatar de carlxime  
Fecha de Ingreso: marzo-2007
Ubicación: México
Mensajes: 180
Antigüedad: 17 años, 1 mes
Puntos: 6
Re: Como convierto estas 6 lineas a funcion?

Hola nukerojo,

Intenta ponerlo así:

Código:
boton.onPress = function() {
   adelante(mc2);
}
Saludos.
  #5 (permalink)  
Antiguo 08/03/2008, 12:34
 
Fecha de Ingreso: marzo-2008
Mensajes: 39
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Como convierto estas 6 lineas a funcion?

Perfecto MIL GRACIAS. AHora en cuanto solucione lo de mas arriba te cuento.
  #6 (permalink)  
Antiguo 08/03/2008, 12:53
 
Fecha de Ingreso: marzo-2008
Mensajes: 39
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Como convierto estas 6 lineas a funcion?

Código:
function seccion(nombre, frame) {
	var clipo = _root.pagina.fondo.createEmptyMovieClip(nombre, 1000000);
	_root.x += 2;
	clipo._x = -39;
	clipo._y = -20;
	clipo.swapDepths(_root.x);
	clipo.loadMovie(nombre+".swf");
	gotoAndStop(frame);
}
Me tira que no se pudo encontrar undefined.swf. Por alguna razon el parametro nombre no llega al load Movie
  #7 (permalink)  
Antiguo 08/03/2008, 13:04
Avatar de carlxime  
Fecha de Ingreso: marzo-2007
Ubicación: México
Mensajes: 180
Antigüedad: 17 años, 1 mes
Puntos: 6
Re: Como convierto estas 6 lineas a funcion?

¿Cómo estás mandando a llamar tu función? ¿Así?

seccion("galeria", 5);
  #8 (permalink)  
Antiguo 08/03/2008, 13:07
 
Fecha de Ingreso: marzo-2008
Mensajes: 39
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Como convierto estas 6 lineas a funcion?

No, galeria a secas.

Pero intente con comillas y me salvaste. Sos un genio!! Porq no tengo contactos asi!!!!
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 12:44.