Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Objeto Que Cae Con Acleración. Aplicado A Un Ejemplo Gráfico
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Objeto Que Cae Con Acleración. Aplicado A Un Ejemplo Gráfico 
 
Buenos días!.

Tengo un problema con un ejemplo.
En este ejemplo se genera n cuadrados que caen desde la parte superior de la ventana.
También puedo hacer que comience antes de que aparezca en la ventana, solo es cuestión
de que "y" sea negativa al comenzar.

Aunque el planteamiento del problema habla de "gravedad", sabemos que esta es constante,
9,8m/s2. Lo que se va acelerado es su velocidad con el paso del tiempo.

Lo que pretende el ejemplo como cae el cuerpo desde la parte superior con una aceleración
que puede ser menor o mayor. Su velocidad aumenta pasada la mitad de la ventana.
Gradualmente.

Lo que se puede apreciar que según sea su velocidad, la figura puede quedar más "alta"
de lo que es la altura máxima de la ventana. Recordemos que el eje "Y" comienza desde 0
en los dibujos de ordenador. No tenemos coordenadas reales en una ventana, son enteras.

El aspecto que da es que la figura se queda clavada o estrellada en determinados momentos.
Mi idea es que no haga eso. Pero tampoco quiero hacer trampas. ( Que cuando llegue abajo, ale hop y situarla
que parezca que pueda dar un "brinco" y tan solo restar al eje "Y" la altura del cuadrado ).  

 caidadecuadrado

El tamaño del cuadrado puede ser cambiado. Pero eso según el tiempo de aparición de cada cuadrado
puede dar problemas con otra idea que tengo en mente.  

¿ Sugerencias ?. Sabemos que la altura no varia. Parece que debe existir una variable para contrarrestar que no haga un cráter.  
Pues si, se parece a otro juego muy antiguo que era un alunizaje. A la nieve cuando cae en una ventana, a cuando tiramos
al vecino..jeje..que ideas tengo. ( Debe ser que también hice el ejemplo en Python ).

Saludos

CuadradoCae02d.tar.gz
Descripción:  
Descargar
Nombre del archivo: CuadradoCae02d.tar.gz
Tamaño: 14.43 KB
Descargado: 30 veces
CuadradoCae02d.tar.gz
Descripción:  
Descargar
Nombre del archivo: CuadradoCae02d.tar.gz
Tamaño: 14.43 KB
Descargado: 30 veces
CuadradoCae02d.tar.gz
Descripción:  
Descargar
Nombre del archivo: CuadradoCae02d.tar.gz
Tamaño: 14.43 KB
Descargado: 30 veces

 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Miercoles, 18 Abril 2018, 13:35; editado 1 vez 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Objeto Que Cae Con Acleración. Aplicado A Un Ejemplo Gráfico 
 
¿ Siempre aparecen los dobles comentarios en la zona de tareas por hacer del editor ?.
Aquellos como ''TODO, ''FIXME..pues me parece que tengo un método en la clase y no aparece..  

No creo que solo sea para el modulo principal.  

Lo podéis ver en el método ComprobarGravedad de la clase cuadrado.

Public Sub ComprobarGravedad()
  
  ''FIXME Y si toca con un objeto y no con la parte inferior de la ventana
  If Me.y <= $altoventana - $tama Then
    Me.y += Me.gravedad
    Me.gravedad *= 1.01    
  Endif
  
End
 


Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Objeto Que Cae Con Acleración. Aplicado A Un Ejemplo Gráfico 
 
He eliminado en Fmain el timer para la generación del cuadrado usando la función DateDiff para controlar el tiempo
que tarda.

En una próxima condición no quiero que un cuadrado quede encima del otro al empezar a caer.
He añadido una constante para darle el tiempo de generación de cada cuadrado.

.......
Const TIEMPODEGENERACION As Float = 0.5
........

Private horaactual As Date
Private horadespues As Date

Public Sub Form_Open()
  
  Randomize
 
  'Tiempo para refrescar DrawingArea
  TimerRefresco.Delay = 16
  TimerRefresco.Start
  horaactual = Now
  
End

Public Sub CrearCuadrado()
  
  Dim uncuadrado As Cuadrado
  
  horadespues = Now
  If cuadrados.Length < NUMERODECUADRADOS Then
      If DateDiff(horaactual, horadespues, gb.Second) > TIEMPODEGENERACION Then
      uncuadrado = New Cuadrado(Ventana, TAMALADOCUADRADO)  
      cuadrados.Add(uncuadrado)
      horaactual = Now
    Endif
  Endif
  
End

Public Sub Ventana_Draw()
  
  Dim uncuadrado As Cuadrado
  
  CrearCuadrado()
  For Each uncuadrado In cuadrados        
    uncuadrado.DibujarCuadrado()  
    uncuadrado.ComprobarGravedad()          
  Next
  
End

----------
 


En cuanto a la clase Cuadrado he modificado el método ComprobarGravedad

Public Sub ComprobarGravedad()
  
  ''FIXME Y si toca con un objeto y no con la parte inferior de la ventana
  If Me.y <= $altoventana - $tama Then
    Me.y += Me.gravedad
    Me.gravedad *= 1.1
  Else
    Me.y = $altoventana - $tama
    Me.gravedad = 1.0    
  Endif
  
End
 


No se ha solucionado del todo el problema de pasarse de la altura por poco.

Saludos

CuadradoCae02f.tar.gz
Descripción:  
Descargar
Nombre del archivo: CuadradoCae02f.tar.gz
Tamaño: 14.45 KB
Descargado: 24 veces
CuadradoCae02f.tar.gz
Descripción:  
Descargar
Nombre del archivo: CuadradoCae02f.tar.gz
Tamaño: 14.45 KB
Descargado: 24 veces
CuadradoCae02f.tar.gz
Descripción:  
Descargar
Nombre del archivo: CuadradoCae02f.tar.gz
Tamaño: 14.45 KB
Descargado: 24 veces

 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Objeto Que Cae Con Acleración. Aplicado A Un Ejemplo Gráfico 
 
Shell:

Citar:
Aquellos como ''TODO, ''FIXME..pues me parece que tengo un método en la clase y no aparece..

Creo que lo estas poniendo mal, tiene que ir al final con 2 puntos:
'TODO:
'FIRME:
'NOTE:
 tareas_notas_y_resuelto

mirate esta entrada:
https://cursogambas.blogspot.com.es/2012/08/comentarios.html
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Objeto Que Cae Con Acleración. Aplicado A Un Ejemplo Gráfico 
 
Sobre el rebote:

Mirate esta página sobre la  "fisica" de un rebote:
http://www.sc.ehu.es/sbweb/fisica/d...escripci%C3%B3n
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Objeto Que Cae Con Acleración. Aplicado A Un Ejemplo Gráfico 
 
Julio:

Citar:

Creo que lo estas poniendo mal, tiene que ir al final con 2 puntos:


Efectivamente, veía el cambio del doble comentario a negrita y me parecía que no iba.
Siempre leo tu manual para recordar esto. No hace mucho, pero olvido.  

Citar:

Sobre el rebote:

Mirate esta página sobre la "fisica" de un rebote:


Pues si que tiene info esto.
En medio de la pagina sale una ventana que muestra algo como esto:

Citar:

RestitucionApplet1aparecerá en un explorador compatible con JDK 1.1.


Debe ser antiguo eso.
¿ Sera posible llevar la física al ordenador de una forma tan real ?.  
Quiero decir lo más parecido a como aprendemos los humanos y representarlo con un ordenador.

Encontré cosas muy interesantes en Pygame con estos temas.
Son frameworks y apis dedicadas a la física.

http://pet.timetocode.org/

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Objeto Que Cae Con Acleración. Aplicado A Un Ejemplo Gráfico 
 
Shell:

Citar:
En medio de la pagina sale una ventana que muestra algo como esto:
RestitucionApplet1aparecerá en un explorador compatible con JDK 1.1.
Debe ser antiguo eso.

Si, eso era applet de java (no confundir con javascript), lo que ocurre que por seguridad, se dejo de usar.

Citar:
¿ Sera posible llevar la física al ordenador de una forma tan real ?.

Claro, fijate en los juegos actuales.

Citar:
Encontré cosas muy interesantes en Pygame con estos temas.
Son frameworks y apis dedicadas a la física.

http://pet.timetocode.org/

Son muy chulos..
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron