Jedno pitanje (pravim igricu)

Jedno pitanje (pravim igricu)

offline
  • Pridružio: 04 Maj 2008
  • Poruke: 181
  • Gde živiš: Prijepolje

Kako da napravim naprimer da imaju 3 slike i napravio sam da se one pomeraju preciznije imaju 2 meteora i jedan svemirski brod i sad kako da napravim da ako jedan od tih slika (meteor) dodje u dodir sa slikom svemirskog broda da mi otvoti form2 a da se ta forma u kojoj je igrica zatvori....??? psl hitno je



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 22 Jun 2006
  • Poruke: 409

Nisam programer pa ne mogu reći tačan kod ali potraži nešto s ključnim rečima "collision detection", trebalo bi da ti pomogne za prvi deo problema.



online
  • Pridružio: 14 Feb 2008
  • Poruke: 12405

Pa evo ti kod:

  1. Sub Provera_Dodira1b()
  2. Dim x110 As Integer
  3.   Dim x120 As Integer
  4.   Dim x130 As Integer
  5.   Dim x140 As Integer
  6.   Dim x210 As Integer
  7.   Dim x220 As Integer
  8.   Dim x230 As Integer
  9.   Dim x240 As Integer
  10.   Dim y110 As Integer
  11.   Dim y120 As Integer
  12.   Dim y130 As Integer
  13.   Dim y140 As Integer
  14.   Dim y210 As Integer
  15.   Dim y220 As Integer
  16.   Dim y230 As Integer
  17.   Dim y240 As Integer
  18.   x110 = brodic.Left
  19.   y110 = brodic.Top
  20.   x120 = brodic.Left + brodic.Width
  21.   y120 = brodic.Top
  22.   x130 =  brodic.Left + brodic.Width
  23.   y130 =  brodic.Top + brodic.Height
  24.   x140 =  brodic.Left
  25.   y140 =  brodic.Top +  brodic.Height
  26.   x210 = meteor.Left
  27.   y210 = meteor.Top
  28.   x220 = meteor.Left +meteor.Width
  29.   y220 = meteor.Top
  30.   x230 = meteor.Left + meteor.Width
  31.   y230 = meteor.Top + meteor.Height
  32.   x240 = meteor.Left
  33.   y240 = meteor.Top +meteor.Height
  34.   If (x110 >= x210 And x110 <= x220 And y110 >= y210 And y110 <= y230) Or _
  35.       (x120 >= x210 And x120 <= x220 And y120 >= y210 And y120 <= y230) Or _
  36.       (x130 >= x210 And x130 <= x220 And y130 >= y210 And y130 <= y230) Or _
  37.       (x140 >= x210 And x140 <= x220 And y140 >= y210 And y140 <= y230) Then
  38. form2.show
  39. unload form1
  40.   If (x210 >= x110 And x210 <= x120 And y210 >= y110 And y210 <= y130) Or _
  41.       (x220 >= x110 And x220 <= x120 And y220 >= y110 And y220 <= y130) Or _
  42.       (x230 >= x110 And x230 <= x120 And y230 >= y110 And y230 <= y130) Or _
  43.       (x240 >= x110 And x240 <= x120 And y240 >= y110 And y240 <= y130) Then
  44. form2.show
  45. unload form1
  46.  End Sub


Posle samo pozovi u tajmeru ovaj sub i to je to.

offline
  • Pridružio: 13 Apr 2007
  • Poruke: 452
  • Gde živiš: Beograd

A joj...Pa ovako nikad neces napraviti igricu...

offline
  • Pridružio: 25 Maj 2007
  • Poruke: 114
  • Gde živiš: Novi Sad, Sombor

Ako imas vise tela, pa trebas proveriti dodir izmedju bilo koja dva bolje resenje je da napravis funkciju koja proverava dodir:


x1 - x koordinata prvog tela
y1 - y koordinata prvog tela
s1 - x sirina prvog tela
v1 - x visina prvog tela
x2 - x koordinata II tela
y2 - y koordinata II tela
s2 - x sirina II tela
v2 - x visina II tela

  1. Function Provera_Dodira(x1 as integer,y1 as integer,s1 as integer,v1 as integer,x2 as integer,y2 as integer,s2 as integer,v2 as integer) as Boolean
  2.  
  3.   If (x1 >= x2 And x1 <= x2+s2 And y1 >= y2 And y1 <= y2+v2) Then
  4.       Provera_Dodira=True
  5.       Exit Function
  6.   End If
  7.  
  8.   If (x1+s1 >= x2 And x1+s1 <= x2+s2 And y1 >= y2 And y1 <= y2+v2) Then
  9.       Provera_Dodira=True
  10.       Exit Function
  11.   End If
  12.  
  13.   If (x1 >= x2 And x1 <= x2+s2 And y1+v1 >= y2 And y1+v1 <= y2+v2) Then
  14.       Provera_Dodira=True
  15.       Exit Function
  16.   End If
  17.  
  18.   If (x1+s1 >= x2 And x1+s1 <= x2+s2 And y1+v1 >= y2 And y1+v1 <= y2+v2) Then
  19.       Provera_Dodira=True
  20.       Exit Function
  21.   End If
  22.  
  23.   Provera_Dodira=False
  24.  
  25. End Function




Posle toga mozes na jednostavan nacin da proveravas da li postoji dodir izmedju bilo koja dva tela (slike) koja poseduju x,y koordinatu, sirinu i visinu.



  1. If Postoji_Dodir (Image1.left, Image1.Top, Image1.Width, Image1.Height, Image2.left, Image2.Top, Image2.Width, Image2.Height)=True Then
  2.   "Uradi to i to"
  3. End If

offline
  • Pridružio: 04 Maj 2008
  • Poruke: 181
  • Gde živiš: Prijepolje

Hvala puno uskoro cu postaviti igricu zavrsena je 95 %

Ko je trenutno na forumu
 

Ukupno su 861 korisnika na forumu :: 8 registrovanih, 1 sakriven i 852 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 4thFlavian, comi, DJUNTA, Feller, Marko Marković, PrincipL, Srki94, zziko