• Miércoles 8 de Mayo de 2024, 20:43

Autor Tema:  Movimiento  (Leído 1325 veces)

darkoweb

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Movimiento
« en: Jueves 18 de Marzo de 2010, 11:01 »
0
¿Alguien me podria ayudar? Necesito hacer que un rectángulo se mueva solo por la pantalla, que parezca que está animado. ¿Que función puedo/debo utilizar?

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re: Movimiento
« Respuesta #1 en: Jueves 18 de Marzo de 2010, 19:04 »
0
No existe una funcion que haga eso, debes programarlo tu paso por paso.

El procedimiento que se sigue seria algo como lo que se realiza en la animacion tradicional.

1. Dibujas el rectangulo en la posicion original,
2. Borras el rectangulo
3. Dibujas el rectangulo, en la nueva posicion.
4. Repites los pasos 2 y 3. al hacerlo varias veces, se creara la "ilusion" de movimiento, ya que el ojo humano no detecta imagines fijas si su velocidad es mayor de 24 veces por segundo. En caso de que la animacion sea muy rapida, deberas añadir algun tipo de "retraso", para que la animacion no se reproduzca a mas de 24 veces por segundo. Es cuestion de experimentar, hasta que obtengas el resultado deseado.

Si tu programa es en entorno grafico o algun tipo de juego, hay algunas librerias que te ayudaran a conseguirlo, allegro. SDL o si quieres animacion 3D, Open GL.

Saludos y suerte :)

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================

darkoweb

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Movimiento
« Respuesta #2 en: Jueves 18 de Marzo de 2010, 19:52 »
0
Muchas gracias.

Pero ese "repaso" (para que no se reproduzca mas de 24 veces por segundo), ¿como podría hacerle? ¿alguna idea?

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re: Movimiento
« Respuesta #3 en: Jueves 18 de Marzo de 2010, 23:23 »
0
Cita de: "darkoweb"
Pero ese "repaso" (para que no se reproduzca mas de 24 veces por segundo), ¿como podría hacerle? ¿alguna idea?

Busca alguna funcion timer, las librerias que te mencione antes tiene funciones para timer. Generalmente miden el tiempo en milisegundos. O busca cualquier libreria que implemente timers.

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================