Comunidad de diseño web y desarrollo en internet online

Random y Efecto de Rebote

Citar            
MensajeEscrito el 21 Ago 2008 08:49 pm
Bueno primero que nada, saludos gente de cristalab, que luego de aprender mucho gracias a ustedes hago mi primer post.

Les cuento mi tranca... estoy haciendo una replica del viejo juego Duck Hunt de Nintendo y llegué a la parte de programar a los patos... la cosa es así, cada pato es un mc que debería moverse random por el escenario y rebotar si es que toca un lado del escenario, pero también tienen que cambiar la posición en la que "miran" por ejemplo: si el clip se mueve de derecha a izquierda debe mirar hacia la izquierda.(supongamos que sería algo así como voltear horizontalmente según su dirección)

Bueno eso es todo, espero no haber molestado mucho con mi primer post. y si a alguien se le ocurre algo ya le agradezco de antemano :wink:
Saludos!

Por Freeki

Claber

183 de clabLevel



Genero:Masculino  

Desarrollador Web Uy

firefox
Citar            
MensajeEscrito el 21 Ago 2008 11:56 pm
En si ,que es lo que se te dificulta,

para delimitar tu escenario es con

Código :

Stage.width  //y
Stage.height


para rotar los mc es con

Código :

_rotate


pero pues si requiere un poco de trabajo :)

Por Keith_NT

451 de clabLevel

3 tutoriales

 

México, Estado de México

msie
Citar            
MensajeEscrito el 22 Ago 2008 04:43 pm
mira lo q se me dificulta es hacer que el clip salga moviendose random por el escenario, y como hacer si el clip se mueve de izquierda a derecha mire hacia la derecha y viseverza, gracias keith!

Por Freeki

Claber

183 de clabLevel



Genero:Masculino  

Desarrollador Web Uy

firefox
Citar            
MensajeEscrito el 22 Ago 2008 05:14 pm
ahh, yo lo propongo de esta manera
--dibuja un pato con el pico apuntando a tu derecha
--conviertelo a movie clip y en la parte donde dice registro seleccionas el centro

despues
en el nombre de instancia lo llamas mc
y colocas este codigo en el primer fotograma

Código :

/////////////////
var vel_x:Number = random(12)+2;
var vel_y:Number = random(12)+2;
var aux_x:Number = -1+(random(2)*2);
var aux_y:Number = -1+(random(2)*2);
var rotate_y:Number = 0;
var rotate_x:Number = 0;
function mover() {
   /////////////////////////
   //con esto logramos que rebote en el escenario el mc
   if (mc._x>Stage.width) {
      aux_x = -1;
   }
   if (mc._x<0) {
      aux_x = 1;
   }
   if (mc._y>Stage.height) {
      aux_y = -1;
   }
   if (mc._y<0) {
      aux_y = 1;
   }
   mc._x = mc._x+(vel_x*aux_x);
   mc._y = mc._y+(vel_y*aux_y);
   /////////////////////////////
   //con esto logramos rotar el mc


/*           270 grados
         -1  y
                |
    -1          |
180   x-----------------------x (0 - 360)
                |        +1
                |
               y +1
               90
*/   
/////////////////////////////
   if (aux_y == 1) {
      rotate_y = 90;
   }
   if (aux_x == 1) {
      rotate_x = 0;
   }
   if (aux_x == 1 && aux_y == 1) {
      mc._rotation = ((rotate_y*vel_y)+(rotate_x*vel_x))/(vel_x+vel_y);
   }
   ////////////////////////  
   if (aux_y == 1) {
      rotate_y = 90;
   }
   if (aux_x == -1) {
      rotate_x = 180;
   }
   if (aux_x == -1 && aux_y == 1) {
      mc._rotation = ((rotate_y*vel_y)+(rotate_x*vel_x))/(vel_x+vel_y);
   }
   ////////////////////  
   if (aux_y == -1) {
      rotate_y = 270;
   }
   if (aux_x == -1) {
      rotate_x = 180;
   }
   if (aux_x == -1 && aux_y == -1) {
      mc._rotation = ((rotate_y*vel_y)+(rotate_x*vel_x))/(vel_x+vel_y);
   }
   ////////////////////////////////  
   if (aux_y == -1) {
      rotate_y = 270;
   }
   if (aux_x == 1) {
      rotate_x = 360;
   }
   if (aux_x == 1 && aux_y == -1) {
      mc._rotation = ((rotate_y*vel_y)+(rotate_x*vel_x))/(vel_x+vel_y);
   }
}
var intervalo:Number = setInterval(mover, 50);



el codigo es extenso pero lo puse de esa forma para que sea un poco mas comprensible
se puede simplificar mucho mas

espero te sirva :D
o tambien te puedo mandar el .fla

Por Keith_NT

451 de clabLevel

3 tutoriales

 

México, Estado de México

msie
Citar            
MensajeEscrito el 22 Ago 2008 07:03 pm
Keith primero que nada te quiero agradecer por tu tiempo y por la ayuda, la verdad que te pasaste!.. gracias! :wink:
Bueno mirá.... me faltó decirte que el clip tiene diferentes estados y cada uno de ellos son diferentes sprites del pato.
(patoAleteando horizontalmente, inclinado, patoMuerto y matoCayendo) osea que tendría que usar currentFrame o un gotoAndPlay en vez del rotation, pero te voy a pasar el fla por mail para que viches si no te molesta te parece?.

Por Freeki

Claber

183 de clabLevel



Genero:Masculino  

Desarrollador Web Uy

firefox
Citar            
MensajeEscrito el 22 Ago 2008 07:48 pm
:( disculpame pero no tengo flash 9,
y no pude abrir el archivo

Por Keith_NT

451 de clabLevel

3 tutoriales

 

México, Estado de México

msie
Citar            
MensajeEscrito el 22 Ago 2008 09:40 pm
Haber si esto ayuda:




Si no distingue bien, las etiquetas son : horizontal, inclinado, arriba, muerto y cayendo

Por Freeki

Claber

183 de clabLevel



Genero:Masculino  

Desarrollador Web Uy

firefox
Citar            
MensajeEscrito el 11 Nov 2008 10:09 pm
hola necesito ayuda por favor. estoy lidiando hace ya varios dias con un flash que tiene un movie clip que tiene girar 360 grados sin parar con actionscript. debe ser con as por que sino se enlentece el movimiento. necesito que sea agil. se puede con as? alguien sabe?

Por tuna79

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Nov 2008 02:45 am
cita =
hola necesito ayuda por favor. estoy lidiando hace ya varios dias con un flash que tiene un movie clip que tiene girar 360 grados sin parar con actionscript. debe ser con as por que sino se enlentece el movimiento. necesito que sea agil. se puede con as? alguien sabe?

publica un nuevo tema asi te pueden ayudar
ademas este post es de agosto ^^
saluds

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 12 Nov 2008 02:48 am
si claro: _rotation en un enterFrame. Querés que gire 360 y pare? o que no pare nunca ?

Por Freeki

Claber

183 de clabLevel



Genero:Masculino  

Desarrollador Web Uy

firefox
Citar            
MensajeEscrito el 12 Nov 2008 02:55 am
¬¬

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 12 Nov 2008 02:44 pm
exacto que nunca pare. es un movie de un mundo y busco que gire sin parar. gracias por cualquier tipo de orientacion me esta matando impotencia de no poder hacerlo....

Por tuna79

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Nov 2008 02:55 pm
ok creo uno nuevo....
nos vemos.

Por tuna79

8 de clabLevel



 

firefox

 

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