Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Efecto Colision De Python En Gambas
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Efecto Colision De Python En Gambas 
 
hace poco (y gracias a esta comunidad) descubrí como mover un objeto:


PUBLIC SUB Form_KeyPress()
  SELECT CASE Key.Code
    CASE Key.Up
      Objeto.Y -= 50
    CASE Key.Down
     Objeto.Y += 50
    CASE Key.Right
     Objeto.X += 50
    CASE Key.Left
      Objeto.X -= 50
  END SELECT
END


ahora lo que quiero lograr es que suceda algún evento cuando un objeto tenga la misma posición que otro:
suceda algún evento en particular.

aparte espero me ayuden a que cuando suceda la "colisión" con algún objeto en especifico en vez de ocupar el mismo lugar se regrese a su posición antes de "colisionar"...

espero puedan ayudarme
 



 
arkyansoul - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Efecto Colision De Python En Gambas 
 
Citar:
algún evento en particular.


Sera una subrutina (en vez de un evento).

Puedes mirarte el código del juego de naves espaciales.

Alli lo que hacia el autor es que cuando hacia click en la posicion de la nave, esta estallaba, en tu caso sera que vuelva el objeto a su posición inicial...

http://jsbsan.wordpress.com/2010/10...gambas-en-ruso/
 




===================
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: Efecto Colision De Python En Gambas 
 
Al parecer ya lo resolvi  

para el efecto colisión es esto :

IF (Objeto.X = Colision.X) AND (Objeto.Y = Colision.Y) THEN ' SI la posición X y Y del objeto son iguales al otro objeto
    ... ' Pasa algo
ENDIF


En cuanto a que el objeto regrese a su lugar anterior es lo siguiente:

IF (Objeto.X = Muro.X) AND (Objeto.Y = Muro.Y) THEN 'Si el objeto "choca" contra la pared
    Objeto.X = Settings["Pos/X"] ' Regresa a la ultima posicion guardada con gb.Settings
    Objeto.Y = Settings["Pos/Y"]
ENDIF

'Al final si no hay colisión alguna se guarda la posición del objeto, esperando nuevo movimiento
  Settings["Pos/X"] = Objeto.X
  Settings["Pos/Y"] = Objeto.Y



EDITO:
Ahora el problema surge si el objeto a "colisionar"  mide mas que el objeto movible...ya que X y Y solo son referencias a la esquina superior Izquierda del objeto y no al objeto en si...
 



 
última edición por arkyansoul el Domingo, 23 Enero 2011, 23:56; editado 1 vez 
arkyansoul - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Clase: Efecto Cortinilla jsbsan Aplicaciones/Fragmentos de Código 1 Domingo, 09 Diciembre 2012, 12:32 Ver último mensaje
Shell
No hay nuevos mensajes Efecto Persiana guadafan General 13 Miercoles, 19 Diciembre 2012, 23:58 Ver último mensaje
Shell
No hay nuevos mensajes Efecto Del Metodo Resize Con Un Dibujo Shell Aplicaciones/Fragmentos de Código 2 Domingo, 09 Junio 2013, 19:47 Ver último mensaje
jguardon
No hay nuevos mensajes Efecto óptico Shell Aplicaciones/Fragmentos de Código 4 Sabado, 19 Diciembre 2015, 11:52 Ver último mensaje
Shell
 

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