elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  funcion eliminar de Space Invaders
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: funcion eliminar de Space Invaders  (Leído 2,958 veces)
tomkat

Desconectado Desconectado

Mensajes: 12



Ver Perfil
funcion eliminar de Space Invaders
« en: 23 Noviembre 2008, 01:32 am »

tengo q hacer un juego q es Space Invaders se trata de una nave que mata 3 tipos de aliens antes q lleguen a la altura de la nave, ya he dubujado en el canvas todos los objetos y la nave q incluso tambien dispara ¿pero como hago para que cuando la bala llegue a la posicion del alien este se elimine,¿en q evento,y si son clases diferentes como relaciono las posiciones , una ayudadita plissss xevere..... ;)


En línea

el placer mas grande es el de la sabiduria->Platon
BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: funcion eliminar de Space Invaders
« Respuesta #1 en: 23 Noviembre 2008, 01:57 am »

tengo q hacer un juego q es Space Invaders se trata de una nave que mata 3 tipos de aliens antes q lleguen a la altura de la nave, ya he dubujado en el canvas todos los objetos y la nave q incluso tambien dispara ¿pero como hago para que cuando la bala llegue a la posicion del alien este se elimine,¿en q evento,y si son clases diferentes como relaciono las posiciones , una ayudadita plissss xevere..... ;)

si los pones en un picturebox o no se como este tu juego usa esta api para detectar coliciones y lo demas es a tu ingenio

Código
  1. Private Declare Function IntersectRect Lib "user32.dll" (ByRef lpDestRect As RECT, ByRef lpSrc1Rect As RECT, ByRef lpSrc2Rect As RECT) As Long
  2.  


En línea

The Dark Shadow is my passion.
BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: funcion eliminar de Space Invaders
« Respuesta #2 en: 23 Noviembre 2008, 02:26 am »

mmm bueno aca te dejo un ejemplo:

solo copealo y pegalo en un nuevo formulario.¡!

Código
  1. Option Explicit
  2. Private Type RECT
  3.    Left As Long
  4.    Top As Long
  5.    Right As Long
  6.    Bottom As Long
  7. End Type
  8. Private Declare Function IntersectRect Lib "user32.dll" (ByRef lpDestRect As RECT, ByRef lpSrc1Rect As RECT, ByRef lpSrc2Rect As RECT) As Long
  9. Dim RectR As RECT
  10. Dim CursorR As RECT
  11. Dim PicR As RECT
  12.  
  13. Private Sub Form_Load()
  14.    AutoRedraw = True
  15.    Me.ScaleMode = 3 ' escala en pixeles
  16.    With PicR
  17.        .Top = 100
  18.        .Left = 100
  19.        .Bottom = .Top + 20
  20.        .Right = .Left + 20
  21.    End With
  22.    DrawSquallInObject Me, True, PicR, vbRed
  23. End Sub
  24.  
  25. Public Function CursorMove(ByVal X As Single, ByVal Y As Single)
  26.    With CursorR
  27.        .Top = Y
  28.        .Left = X
  29.        .Bottom = .Top + 1
  30.        .Right = .Left + 1
  31.    End With
  32.    Caption = IntersectRect(RectR, CursorR, PicR)
  33. End Function
  34.  
  35. Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  36.    CursorMove X, Y
  37. End Sub
  38.  
  39. Private Function DrawSquallInObject(obj As Object, clear As Boolean, RectSource As RECT, ColorLines As Long) As Long
  40. On Error GoTo errores
  41.    Dim linea As Long
  42.    linea = ColorLines
  43.    If clear Then obj.Cls
  44.    obj.Line (RectSource.Left, RectSource.Top)-(RectSource.Left, RectSource.Bottom), linea '(0) 'RGB(Rnd(1) * 255, Rnd(1) * 255, Rnd(1) * 255)
  45.    obj.Line (RectSource.Left, RectSource.Top)-(RectSource.Right, RectSource.Top), linea '(1) 'RGB(Rnd(1) * 255, Rnd(1) * 255, Rnd(1) * 255)
  46.    obj.Line (RectSource.Right, RectSource.Bottom)-(RectSource.Right, RectSource.Top), linea '(2) 'RGB(Rnd(1) * 255, Rnd(1) * 255, Rnd(1) * 255)
  47.    obj.Line (RectSource.Right, RectSource.Bottom)-(RectSource.Left, RectSource.Bottom), linea '(3) 'RGB(Rnd(1) * 255, Rnd(1) * 255, Rnd(1) * 255)
  48.    DrawSquallInObject = True
  49.    Exit Function
  50. errores:
  51.    DrawSquallInObject = False
  52.    Err.clear
  53. End Function
  54.  

Saludos
En línea

The Dark Shadow is my passion.
seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: funcion eliminar de Space Invaders
« Respuesta #3 en: 23 Noviembre 2008, 04:05 am »

digamos que ni idea como es el juego ¿no?  :¬¬
En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: funcion eliminar de Space Invaders
« Respuesta #4 en: 23 Noviembre 2008, 05:41 am »

jaja lo que entendi es que es algo asi como el juego de tetris ese que debes eliminar los cuadritos antes de que lleguen a la linea de la nave ja o como el juego de Galaxi solo que las naves van cayendo hasta la nave que se controla eso creo o no tomkat?
En línea

The Dark Shadow is my passion.
Sin Nick xD


Desconectado Desconectado

Mensajes: 443


Ö


Ver Perfil
Re: funcion eliminar de Space Invaders
« Respuesta #5 en: 23 Noviembre 2008, 06:00 am »

échale un ojo a esto esta en java pero quizá te sirva de algo

http://foro.elhacker.net/java/ejercicios_open_source-t220190.0.html

saludos

En línea

Yo solo creería en un Dios que supiese bailar.
AxXioma


Desconectado Desconectado

Mensajes: 797


Algunos pájaros no pueden ser enjaulados...


Ver Perfil
Re: funcion eliminar de Space Invaders
« Respuesta #6 en: 23 Noviembre 2008, 14:53 pm »

tengo q hacer un juego q es Space Invaders se trata de una nave que mata 3 tipos de aliens antes q lleguen a la altura de la nave, ya he dubujado en el canvas todos los objetos y la nave q incluso tambien dispara ¿pero como hago para que cuando la bala llegue a la posicion del alien este se elimine,¿en q evento,y si son clases diferentes como relaciono las posiciones , una ayudadita plissss xevere..... ;)

No se puede postear el mismo post mas de una vez. Ya te respondí en el otro.

Leete las reglas.
En línea





.::Cuanto mas conocimiento adquieres, más te das cuenta del que hay a tu alrededor::.
seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: funcion eliminar de Space Invaders
« Respuesta #7 en: 23 Noviembre 2008, 15:23 pm »

perdona ░▒▓BlackZeroҖ▓▒░ no me referia a vos cuando dije que no tenia idea...
En línea

~~
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.981


Ver Perfil WWW
Re: funcion eliminar de Space Invaders
« Respuesta #8 en: 23 Noviembre 2008, 17:49 pm »

O lo preguntas en el foro de C o lo preguntas aquí, pero no lo preguntes en los dos :P En que lenguaje estás programando? aunque básicamente ya te han dicho la solución...

Supongo que cada enemigo será un Sprite guardado en un arreglo. Tienes que insertar una condición que verifique si la bala ha llegado a los enemigos, y si llega que se borre la unidad en la que está el enemigo, lo cual mostraría su coordenada vacía.

Para hacer lo que te estoy intentando explicar, hay algunos algoritmos de choques de sprites, te dejo aquí uno que creo que es bastante útil:

http://softwarelibre.uca.es/wikijuegos/Colisiones

Saludos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Space invaders java
Java
bartvander 5 6,514 Último mensaje 11 Abril 2012, 17:50 pm
por 1mpuls0
Space invaders java
Java
bartvander 0 3,220 Último mensaje 7 Marzo 2012, 15:19 pm
por bartvander
Holaa,,necesito que me ayuden con el juego space invaders
Juegos y Consolas
Loqillla 0 2,691 Último mensaje 5 Diciembre 2013, 06:21 am
por Loqillla
Space Invaders Tutorial [SRC]
Java
Maurice_Lupin 0 1,477 Último mensaje 25 Septiembre 2014, 23:29 pm
por Maurice_Lupin
Game Engine - Space Invaders Angular 2
Desarrollo Web
abelvaldez 0 1,692 Último mensaje 20 Febrero 2018, 01:54 am
por abelvaldez
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines