Cristalab

                 ¿Quieres registrarte?

Desplazar un MovieClip sobre un gráfico con hitTest()

10 de Junio del 2007
10,400 visitas

Este es el resultado de 5 minutos de experimentación en Flash, un MovieClip que camina por los bordes de un dibujo. Aunque se adapta bastante bien a cualquier situación, es experimental y aún surgen un par de errores molestos que se pueden corregir sin demasiada dificultad.



El funcionamiento es sumamente simple: Al presionar las flechas no movemos la caja sino 2 puntos (invisibles). Estos puntos se ubican en la siguiente posición posible hacia arriba o hacia abajo en la dirección deseada.

Usando algo de trigonométrica básica, colocamos la caja a la mitad de camino entre los puntos con un ángulo igual al ángulo formado por estos puntos.

Para evitar errores que congelen el procesador, empleo for() y no whiles para realizar los hitTests que determinan la siguiente posición posible.

El resultado es aceptablemente bueno, considerando la simpleza y la escasa cantidad de recursos que emplea. Igualmente, es muy mejorable.

Éste es el .fla

Njoy!


Artículos Relacionados


Etiquetas actionscript

Comentarios | Enviar un comentario
Oô mola. Me recuerda al juego en el que dibujas un circuito y va un trineo deslizandose.

Tiene un abanico de posibilidades enooooorme

Gracias ^^
Por: Marotorod
En realidad, el juego del trineo es totalmente distinto. En ese juego, el usuario dibuja un camino que (probablemente) se almacene en un Array. Entonces, la comprobación de colisión, se realiza con matemáticas y no "probando hasta que de false".

Esto es distinto, la idea es ahorrarle a quien crea el programa la necesidad de pasar sus dibujos a código. Dándole así más espacio creativo.
Por: HernanRivas
Buen ejemplo HernanRivas (y) Realmente se logra un buen efecto para el poco código que utiliza.
El juego del trineo se podría hacer con este mismo código, lo único que variaría es que el movieclip al que tú llamas "piso" estaría dibujado dinámicamente. :wink:
Por: Zguillez
muy bueno, hace un tiempo hicimos un par de juegos donde el piso era dinámico y todo eso, la verdad q se investiga mucho para lograr cosas interesantes, muy buen tip (y)
Por: eldervaz
Muy Bueno , Hernan, hace rato habia usado uno parecido (pero mas complejo)

aun no logro entender el por que del ciclo, es decir, dentro de el no ocupas la variable "i".
Por: eveevans
Exelente... me quedo sin palabras, me acaban de ayudar a resolver casi dos semanas de estar sentado frente al computador jajaja... gracias
Por: Chelo_blog
Muy bueno gracias por el *.fla, sera de mucha ayuda en mis estudios.
Por: Victor-Nael

eveevans :

Muy Bueno , Hernan, hace rato habia usado uno parecido (pero mas complejo)
Siempre me gustó la gente modesta :lol: :lol: :lol: :lol: Como ya dije, esto es un código de 5 minutos, una idea. No un programa terminado.

eveevans :

aun no logro entender el por que del ciclo, es decir, dentro de el no ocupas la variable "i".
El uso del for no se relaciona con la variable i. Lo uso para darle fácilmente un máximo a la cantidad de iteraciones que realiza el mc al chequear los hitTests. No puedo hacerlo simplemente con un enterFrame por que no caería lo suficientemente rápido. Y si aumento la velocidad de caida (leáse cuántos píxeles por fotograma baja o sube el MC) el hitTest pierde presición.

Como ya dije, una solución más ortodoxa es usar un while, pero hay un alto riesgo de joder el procesador. El problema se presenta con los cambios bruscos en el dibujo que obligan a hacer cientos de iteraciones, con el for le puse un límite que, además, se puede cambiar con mucha facilidad).

*Me gusta el nuevo título
Por: HernanRivas
Este verano me gustaría empaparme de conocimientos sobre el hittest en juegos de motos y bicis de trial, este clip me servirá para iniciar mis conocimientos

Muchas gracias ;)
Por: Pedrito_blog
simpatiquisimo ! ^^
Por: penholder_blog
JAJA, Muchisimas gracias Hernan
(lo del code mas complejo me referia a que "este es mejor!!!")
Por: eveevans
Nunca me hubiera imaginado lo de los puntitos, que buen tip hernan =)
Por: bryanisimo
Los puntitos, entendidos como 2 MCs no hacen falta, con manejar las coordenadas solamente alcanza.

Los puntos los agregué para hacer más visible a la idea.
Por: HernanRivas
Hernan, es muy bueno el ejemplo. Se nota que sabes mucho. Cuanto me cobras por hacer un visor en flash que permita visualizar videos y fotos sin tener que resamplear las imágenes? que tome una carpeta tal como está y muestre el contenido foto y video con solo colocar el swf dentro de esta? Es para uso personal. Estaré pendiente. Gracias.
Por: Tobias_blog
que coool! =) me gusta jeje!
Por: McKain_blog
excelente!!
Por: mynor_blog
Deja un comentario
IMPORTANTE

Recuerda ser respetuoso, no insultes a otras personas, ni uses palabrotas, hay una persona al otro lado de la pantalla.

Habla bien, NO ESCRIBAS EN MAYUSCULA TODO, no escribas como en un SMS, evita cosas como "ke", "x q" y demás abreviaciones.

Aquí funcionan las etiquetas de los foros, puedes usar [b] para negrita, [img] para las imágenes, [url] para los enlaces, etc.

Si tienes preguntas técnicas, envíalas mejor al foro.