Ver Mensaje Individual
  #3 (permalink)  
Antiguo 16/12/2009, 12:35
suncubus
 
Fecha de Ingreso: diciembre-2007
Mensajes: 140
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: array y tween

Lo primero, gracias por contestar y haber si ahora consigo explicarme mejor ya que me vendría muy bien la ayuda de alguien.
Todo esto es parte de una aplicación más larga y compleja, con esta tween debería de conseguir una curva que represente el movimiento del sol, donde "grafico1.miClip" es el sol. Espero que con estos datos me entiendas porque no consigo que funcione.
A lo largo de la aplicación voy cargando los arrays (como dices, también podría haber sido una bidimensional) con estos datos que se consiguen a traves de unas operaciones matemáticas:

xenSol1[1] --> -56 yenSol1[1] --> 13.0181893890662
xenSol1[2] --> -48 yenSol1[2] --> 32.6722377083751
xenSol1[3] --> -40 yenSol1[3] --> 53.3824909982467
xenSol1[4] --> -32 yenSol1[4] --> 74.5513219644616
xenSol1[5] --> -24 yenSol1[5] --> 95.4649605240455
xenSol1[6] --> -16 yenSol1[6] --> 114.940455554721
xenSol1[7] --> -8 yenSol1[7] --> 130.439847473621
xenSol1[8] --> 0 yenSol1[8] --> 136.878720564237
xenSol1[9] --> 8 yenSol1[9] --> 130.439847473621
xenSol1[10] --> 16 yenSol1[10] --> 114.940455554721
xenSol1[11] --> 24 yenSol1[11] --> 95.4649605240455
xenSol1[12] --> 32 yenSol1[12] --> 74.5513219644616
xenSol1[13] --> 40 yenSol1[13] --> 53.3824909982467
xenSol1[14] --> 48 yenSol1[14] --> 32.6722377083751
xenSol1[15] --> 56 yenSol1[15] --> 13.0181893890662

Una vez que tengo todas las coordenadas x e y en los arrays, creo este CODIGO:

Código:
crearSoles()

function crearSoles(){	
	a=1
	b=2
	comenzarSol()
}
function comenzarSol(){	
	if(a<=xenSol1.length){
		var myTw = new Tween(grafico1.miClip, "_x", Regular.easeOut, xenSol1[a], xenSol1[b], 30, true);
		var myTw = new Tween(grafico1.miClip, "_y", Regular.easeOut, yenSol1[a], yenSol1[b], 30, true);
		myTw.onMotionFinished  = cont()
	}			
}
function cont(){
		a++
		b++	
		comenzarSol()
}
No funciona.

/************************************************
También he probado de esta forma:

Código:
function crearSoles(){	
	a=1
	b=2
	var myTw = new Tween(grafico1.miClip, "_x", Regular.easeOut, xenSol1[a], xenSol1[b], 30, true);
	var myTw = new Tween(grafico1.miClip, "_y", Regular.easeOut, yenSol1[a], yenSol1[b], 30, true);
	comenzarSol()
}

function comenzarSol(){	
		a++
		b++
	if(a<xenSol1.length){
		trace("xenSol1["+a+"] --> "+xenSol1[a]+" yenSol1["+a+"] --> "+yenSol1[a])
		myTw.continueTo(grafico1.miClip, "_x", Regular.easeOut, xenSol1[a], xenSol1[b], 30, true);
		myTw.continueTo(grafico1.miClip, "_y", Regular.easeOut, yenSol1[a], yenSol1[b], 30, true);
		comenzarSol()
	}else{
		a=1
		b=2
	}	
}
En este caso no se si lo esta haciendo bien, cuando lo ejecuto el sol aparece en la última posición, pero no se si lo hace tan rápido que no consigo verlo en ese caso como podría hacer que fuese despacio y que se viese bien todo el movimiento, o si es que va directo a la última posición, en ese caso voy mal.