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

transiciones en actionscript

Estas en el tema de transiciones en actionscript en el foro de Flash y Actionscript en Foros del Web. muy buenas. tengo una película flash que es un mapa de localización, aparece el mapa de españa con circulitos en las distintas provincias, al pinchar ...
  #1 (permalink)  
Antiguo 27/06/2007, 09:10
Avatar de capagris  
Fecha de Ingreso: julio-2003
Mensajes: 131
Antigüedad: 20 años, 9 meses
Puntos: 0
transiciones en actionscript

muy buenas.

tengo una película flash que es un mapa de localización, aparece el mapa de españa con circulitos en las distintas provincias, al pinchar en el circulo ( que es un botón) me lleva a otro fotograma donde está el mapa de la zona seleccionada.

Quiero que al pinchar el boton desaparezca el elemento en cuestión que se esté visualizando (el mapa de la zona o el mapa de españa) y que aparezca el otro elemento, todo esto con efectos de transición.

En vez de hacerlo en la línea de tiempo, que sería una locura por la cantidad de seciones que tiene, quiero saber si lo puedo hacer con actionscript llamando a este código por medio del boton.

Espero que se me entienda.

Saludos
__________________
..::Todo lo que no aprendí, no se me ha olvidado.::..
  #2 (permalink)  
Antiguo 28/06/2007, 01:23
 
Fecha de Ingreso: mayo-2003
Mensajes: 51
Antigüedad: 20 años, 11 meses
Puntos: 0
Re: transiciones en actionscript

existe una manera parecida de hacer lo que dices.

Se trata de utilizar formulas de aceleracion en action script. El mapatiene que ser un movieclip cuyo. El movieclip tiene que tener un codigo que diga que onEnterframe su alpha sea siempre en funcion de una varible utilizando una formula de aceleracion (esque ahora de memoria no me la se). Al pinchar el boton, en las acciones le decimos que la variable (en funcion de la cual en cada golpe de fotograma condiciona el alpha del mapa) se convierta en 0 con lo que el mapa se convertira en transparente siguiendo la formula a la vez y siguiendo la misma formula le diremos que la variable del nuevo objeto sea 100

No se si me explico bien. ya lo siento
  #3 (permalink)  
Antiguo 23/10/2007, 16:03
 
Fecha de Ingreso: abril-2007
Mensajes: 48
Antigüedad: 17 años
Puntos: 0
Re: transiciones en actionscript

Cita:
Iniciado por tortxo Ver Mensaje
existe una manera parecida de hacer lo que dices.

Se trata de utilizar formulas de aceleracion en action script. El mapatiene que ser un movieclip cuyo. El movieclip tiene que tener un codigo que diga que onEnterframe su alpha sea siempre en funcion de una varible utilizando una formula de aceleracion (esque ahora de memoria no me la se). Al pinchar el boton, en las acciones le decimos que la variable (en funcion de la cual en cada golpe de fotograma condiciona el alpha del mapa) se convierta en 0 con lo que el mapa se convertira en transparente siguiendo la formula a la vez y siguiendo la misma formula le diremos que la variable del nuevo objeto sea 100

No se si me explico bien. ya lo siento
Hola, me meto en esta conversacion, me interesa el tema.
Podrias ser mas especifico por favor.
Tengo un mapa con ciudades y quiero que cuando le de click a un boton, se prenda la ciudad con su nombre.
Espero me entiendas lo que quiero.
Gracias
Ivan
  #4 (permalink)  
Antiguo 23/10/2007, 23:10
Avatar de yoseman  
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 4 meses
Puntos: 5
Re: transiciones en actionscript

Yo sé una forma de apagar y/o encender un clip de película mediante código como con un efecto de alpha y accediendo a la propiedad alpha del clip, lo que pasa es que obviamente supone que el mapa tiene que estar en un clip distinto al que quieras que permanezca.

Se trataría básicamente de crear dos funciones en el clip principal que usasen respectivamente dos intervalos (no vale con el mismo porque puedes querer apagar y encender a la vez) cuyas condiciones de finalización fuesen que los alphas de los clips fusen respectivamente '<0' o '>100'

Código:
// variables intervalos
var intervalIdDecre:Number;
var mcDecre:String;
var intervalIdIncre:Number;
var mcIncre:String;

// variables de duracion del paso(milisegundos) e incremento decremento
var pasoInc:Number =5;
var pasoDec:Number =5;
var duration:Number = 50;

// Incrementar alpha de un clip hasta 100: initDecre("nombreClip");
// Incrementar alpha de varios clips hasta 100: initDecre("nombreClip1,nombreClip2,...");
// Decrementar alpha de un clip hasta 0: initIncre("nombreClip");
// Decrementar alpha de varios clips hasta 0: initIncre("nombreClip1,nombreClip2,...");

function decre():Void 
{	
	var my_str:String = mcDecre;
	var my_array:Array = my_str.split(",");
	for (var i = 0; i<my_array.length; i++) 
	{
		if(eval(my_array[i])._alpha>0)
		{
			eval(my_array[i])._alpha-=pasoDec;
		}
		else
		{
			if(eval(my_array[i])._alpha<0)
				eval(my_array[i])._alpha=0;
			
			clearInterval(intervalIdDecre);		
		}
	}
}

function initDecre(Clip):Void 
{
	if(intervalIdDecre != null) 
	{
		clearInterval(intervalIdDecre);
	}
	mcDecre=Clip;
	intervalIdDecre = setInterval(this,"decre", duration, mcDecre);
}

function incre():Void 
{	
	var my_str:String = mcIncre;
	var my_array:Array = my_str.split(",");
	for (var i = 0; i<my_array.length; i++) 
	{
		if(eval(my_array[i])._alpha<100)
		{
			eval(my_array[i])._alpha+=pasoInc;
		}
		else
		{
			if(eval(my_array[i])._alpha>100)
				eval(my_array[i])._alpha=100;
			clearInterval(intervalIdIncre);		
		}
	}
}

function initIncre(Clip):Void 
{
	if(intervalIdIncre != null) 
	{
		clearInterval(intervalIdIncre);
	}
	mcIncre=Clip;
	intervalIdIncre = setInterval(this,"incre", duration, mcIncre);
}
Ese código tiene que estar preferiblemente en el fotograma 1 de una capa.

La pega que tiene es que no se puede invocar mientras el intervalo está trabajando.

La forma de hacerlo como dice tortxo consistiría en algo así(aunque sin función de aceleración)

Poner este código en el clip susceptible de cambio de alpha, y desde el código cambiar el valor targetAlpha.


Código:
targetAlpha=100;
incAlpha=5;
decAlpha=5;
this.onEnterFrame=function()
{
	if(_alpha != targetAlpha)
	{
		trace("alfa:"+_alpha);
		if(_alpha<targetAlpha)
			_alpha+=incAlpha;
		if(_alpha>targetAlpha)
			_alpha-=decAlpha;
	}
}

Por ejemplo si creamos un cuadrado que convertimos en clip(que llamamos por ejemplo 'mc') y dentro del clip(dentro de mc) ponemos en el fotograma este código, y luego en el clip principal(no en mc, en el que contiene mc) ponemos un botón y le asignamos este codigo en el fotograma:
Código:
boton.onRelease=function()
{
mc.targetAlpha=0;
}
Conseguiremos bajar el alpha del clip a 0;

Salu2 ;) (a lo mejor hay alguna forma mejor, si será por formas de hacer las cosas)
__________________
[+]
[+]
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 08:18.