Comunidad de diseño web y desarrollo en internet online

Mc que siga trayectoria

Citar            
MensajeEscrito el 01 Feb 2010 07:17 am
Hola, estoy intentando que un Mc se mueve por unas coordenadas de un array que se crean cuando muevo el mouse, entonces se supne que seria como un caminito, pero no :I, hace mucho tuve problemas con eso, no lo logre y lo abandone =/ ahora que soy mas pro intento pero tampoco puedo, creo que estoy cerca, intente con este codigo:

Código :

var arx:Array = new Array();
var ary:Array = new Array();
import mx.transitions.Tween;
onMouseDown = function () {
   onMouseMove = function () {
      arx.push(_xmouse);
      ary.push(_ymouse);
   };
};
onMouseUp = function () {
   for (i=0; i<arx.length; i++) {
      bola._x = arx[i];//se supone que aqui, segun pienso debe recorrer cada elemento del array
      bola._y = ary[i];//pero solo lo manda de la ultima posicion a la actual del mouse
   }
};


No funciona, intente con un enterFrame pero tampoco :I que podra ser?
porfis ayuda :)
Gracias

Por el davo29

253 de clabLevel



Genero:Masculino  

Chihuahua :D!

msie8
Citar            
MensajeEscrito el 01 Feb 2010 07:35 am
Puedes hacer algo como esto:

Código ActionScript :

import mx.transitions.Tween;

var arx:Array = new Array();
var ary:Array = new Array();
var counter:Number = 0;

onMouseDown = function():Void
{
   onMouseMove = function():Void
   {
      arx.push(_xmouse);
      ary.push(_ymouse);
   }
}
onMouseUp = function():Void
{
   delete onMouseMove;
   onEnterFrame = function():Void
   {
      if (counter > arx.length)
      {
         delete onEnterFrame;
         arx = [];
         ary = [];
         counter = 0;
      }
      bola._x = arx[counter];
      bola._y = ary[counter];
      counter++;
   }
}

Por isidoro

Claber

498 de clabLevel

2 tutoriales

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 02 Feb 2010 03:06 am
:0 Gracias, me puedes explicar que haces con esto: arx[] ??

Por el davo29

253 de clabLevel



Genero:Masculino  

Chihuahua :D!

msie8
Citar            
MensajeEscrito el 02 Feb 2010 03:13 am
Oh :D, en este post te iba a preguntar otra vez mas cosas pero ya vi que haces con arx y counter y todo, gracias :) :), pa futuras preguntillas, arx[] ary[] elimina todos los elemenos del array :), si es asi isidoro :o??

Por el davo29

253 de clabLevel



Genero:Masculino  

Chihuahua :D!

msie8
Citar            
MensajeEscrito el 02 Feb 2010 03:58 am
Bueno, si hay duda, porque counter es mayor en 1 siempre :o??
Porfa :)
Gracias

Por el davo29

253 de clabLevel



Genero:Masculino  

Chihuahua :D!

msie8
Citar            
MensajeEscrito el 03 Feb 2010 10:47 pm
Hola,
perdona pero el código que te puse tiene varios errores (la verdad es que hice un copy-paste de tu code y lo modifiqué en 2 minutos, y aunque funcione hay varios errores imperdonables). Quedaría así:

Código ActionScript :

var arx:Array = [];
var ary:Array = [];
var counter:Number;

onMouseDown = function():Void
{
   arx = [];
   ary = [];
   counter = 0;
   onMouseMove = function():Void
   {
      arx.push(_xmouse);
      ary.push(_ymouse);
   }
}

onMouseUp = function():Void
{
   delete onMouseMove;
   onEnterFrame = function():Void
   {
      if (counter == arx.length - 1) delete onEnterFrame;
      bola._x = arx[counter];
      bola._y = ary[counter];
      counter++;
   }
}

En cuanto a lo que preguntas, en primer lugar arx = [] sí que elimina los elementos del array (es como escribir arx = new Array(), pero de forma resumida).
La variable counter va a ser usada para recorrer las coordenadas que se han ido guardando en los array. En el EnterFrame hará que en cada fotograma que pase se coloque el clip en las coordinadas del siguiente elemento del array.

Por isidoro

Claber

498 de clabLevel

2 tutoriales

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 05 Feb 2010 07:03 pm
:o Gracias, con el counter==arx se resolveria mi pregunta :), Gracias :D

Por el davo29

253 de clabLevel



Genero:Masculino  

Chihuahua :D!

msie8
Citar            
MensajeEscrito el 05 Feb 2010 10:32 pm
counter se usa dentro de la función del evento enterFrame para recorrer todos los elementos del array (desde el elemento 0 hasta el último, que es: arx.length - 1), y por lo tanto cuando counter sea igual a ese último elemento, ya no tiene que ejecutarse la función asociada al enterFrame.

Por isidoro

Claber

498 de clabLevel

2 tutoriales

Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.