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

Lluvia en flash con hittest

Estas en el tema de Lluvia en flash con hittest en el foro de Flash y Actionscript en Foros del Web. Soy nuevo Necesito ayuda para crear una animacion en flash, se supone que debo crear una lluvia con efectitos y eso pero no me furula ...
  #1 (permalink)  
Antiguo 02/04/2012, 17:24
 
Fecha de Ingreso: abril-2012
Mensajes: 17
Antigüedad: 12 años
Puntos: 0
Lluvia en flash con hittest

Soy nuevo

Necesito ayuda para crear una animacion en flash, se supone que debo crear una lluvia con efectitos y eso pero no me furula el codigo.

Planeaba crear una gota en un movieclip y que esta siguiera la animacion que le tengo asignada (que vaya hasta abajo segun su interpolacion y que se detenga con un stop en el fotograma 40, a modo de que se estanque o algo asi).

El problema es que debo hacerla programada y yo tengo que ingeniarmelas, se de programacion pero de flash nose nadita y pos de busqueda en busqueda llegue al hittest.

Esto es lo tengo en este momento (en las acciones del movieclip gota):

if(this.hitTest(_root:Techo))
{
removeMovieClip(this);
}

Simple y bonito, se supone que al encontrarse con el movieclip "techo" deberia de desaparecer la gota, pero no hace nada de nada, la gota sigue su camino hasta el fotograma 40 como estaba planeado.

Quiero ponerle un segundo movieclip "impacto" que muestre la gota siendo destruida y que se cargue no mas desaparece el movieclip gota pero primero lo primero, que me trabaje el codigo.

Saben que hago mal? deberia ponerle la interpolacion por codigo en lugar de dejarla manualmente? espero haberme explicado bien.

Ayudenme si?
  #2 (permalink)  
Antiguo 03/04/2012, 11:10
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 9 meses
Puntos: 406
Respuesta: Lluvia en flash con hittest

Hola soVre:
Bienvenido al Foro.
No lo hagas la animación con interpolación de movimiento, crea la animación con códigos.
El removeMovieClip() solamente sirve para eliminar MC creados dinámicamente..
Pero hay un truco para poderlo usar.
Dibuja tu gota y lo conviertes en MC y al ponerlo en el escenario le colocas como nombre de instancia: gota_mc y lo pones fuera del escenario en la parte superior y crea el techo_mc.
Crea otra capa y coloca éste código:
Código actionscript:
Ver original
  1. mover = function (target:Object):Void{
  2.     target._y++;
  3.     if (target._y <= target._height * -1){
  4.         target._y = Stage.height;
  5. }else{
  6.         if (_root.gota_mc.hitTest(_root.techo_mc)){
  7.             gota_mc.swapDepths(666);//éste es el truco
  8.             gota_mc.removeMovieClip();
  9.         }
  10.     }
  11. };
  12. var inter:Number = setInterval(mover, 15, gota_mc);
Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #3 (permalink)  
Antiguo 03/04/2012, 12:55
 
Fecha de Ingreso: abril-2012
Mensajes: 17
Antigüedad: 12 años
Puntos: 0
Respuesta: Lluvia en flash con hittest

"1046: Type was not found or was not a compile-time constant: Void."

No funciono, cuando dices ponerle nombre a las instancias es cambiarles nombre? eso hice nada mas y aparecio en las propiedades "instance of: gota_mc", por eso digo.
  #4 (permalink)  
Antiguo 03/04/2012, 16:21
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 9 meses
Puntos: 406
Respuesta: Lluvia en flash con hittest

Una cosa es ponerle un nombre al crear el MC y otra colocarle un nombre de instancia cuando es ubicado en el escenario.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #5 (permalink)  
Antiguo 03/04/2012, 18:50
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 2 meses
Puntos: 11
Respuesta: Lluvia en flash con hittest

y en ActionScript 3?
  #6 (permalink)  
Antiguo 04/04/2012, 09:56
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 9 meses
Puntos: 406
Respuesta: Lluvia en flash con hittest

Hola richardinj:
Como el ejemplo que di para el efecto de una gota en AS2, puedes usar éste código en AS3:
Código actionscript:
Ver original
  1. gota_mc.y +=  2;
  2. if (gota_mc.y > 400){
  3.     gota_mc.y = -10;
  4. }
  5. if (gota_mc.hitTestObject(techo_mc)) {
  6.     gota_mc.removeChildAt(0);;
  7. }
Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #7 (permalink)  
Antiguo 04/04/2012, 13:33
 
Fecha de Ingreso: abril-2012
Mensajes: 17
Antigüedad: 12 años
Puntos: 0
Respuesta: Lluvia en flash con hittest

Pues no, ya la puse como instancia y nada, me sigue ese error.
Es ese void, no me lo reconoce.

Le di click derecho y a acciones al fotograma donde se debe poner el codigo, es asi verdad?

Perdon pero en serio nose como programar aqui.
  #8 (permalink)  
Antiguo 04/04/2012, 16:14
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 9 meses
Puntos: 406
Respuesta: Lluvia en flash con hittest

Simplemente crea una capa para las acciones, selecciona su primer fame y escribe el código en el Panel de acciones, si el void te da problemas elimínalo.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #9 (permalink)  
Antiguo 04/04/2012, 17:05
 
Fecha de Ingreso: abril-2012
Mensajes: 17
Antigüedad: 12 años
Puntos: 0
Respuesta: Lluvia en flash con hittest

Gracias, ya logre que funcionara, lo estaba haciendo en AS3 antes pero ya probe en el 2.

Eso si, usando el otro codigo que pusiste (mas simple) en AS3 no me funciono, no da error simplemente no hace nada, asi que lo dejare como en el 2.

Igual, cualquier duda la posteare denuevo :P
  #10 (permalink)  
Antiguo 04/04/2012, 23:45
 
Fecha de Ingreso: abril-2012
Mensajes: 17
Antigüedad: 12 años
Puntos: 0
Respuesta: Lluvia en flash con hittest

Hola, yo denuevo, esto es lo que tengo:

mover = function (target:Object):Void{
target._y+=2;
if (target._y <= target._height * -1){
target._y = Stage.height;
} else if (target._y > 400) {
target._y = 1;
target._x = random(400);
} else if (_root.gota_mc.hitTest(_root.techo_mc)){
target._y = 1;
target._x = random(400);
} };
var inter:Number = setInterval(mover,1, gota_mc);

Quiero que aparezcan varias gotas a la vez pero cuando le pongo otra vez el movie clip se queda estatico, alguna sugerencia que no sea volver a hacer el codigo para cada MC?

Y no encontre como hacer que apareciera un MC cuando el otro desaparece, como haria para que el MC "impacto" salga justo despues de desaparezca la gota?

Etiquetas: flash, lluvia, clips
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 14:24.