Flyt en mand i et spil... :)
Jeg er i gang med at lave et spil. I dette spil skal man styre en mand rundt i en picturebox, og i denne picturebox er der nogen firkantede objekter, som det skal være umuligt for ham at gå ind i, altså de skal være som mure. Disse mure har forskellige koordinater fra spil til spil, så jeg skal have lavet en kode som forhindrer manden i at gå ind i væggene ligemeget med hvad koordinater de har. Jeg bruger denne kode, som bliver kørt 1000 gange i sekundet:-----
i = 0
Do Until i = wall.Count
If Timer5.Enabled = False Then
If Picture1.Left >= (wall(i).Left - 100) And (Picture1.Left + Picture1.Width) <= (wall(i).Left + wall(i).Width + 100) Then
If Picture1.Top < (wall(i).Top + wall(i).Height) And (Picture1.Top + Picture1.Height) > wall(i).Top Then
Picture1.Top = Label6.Caption
Picture1.Left = Label7.Caption
GoTo NoMove
End If
End If
End If
i = i + 1
Loop
Label6.Caption = Picture1.Top
Label7.Caption = Picture1.Left
------
NoMove er for at manden ikke skal flytte sig yderligere, og wall() er en array med væggene. Label6 er mandens tidligere x koordinat, og label7 er manden tidligere y koordinat.
Problemet med denne kode er at når manden prøver at gå ind i en væg, \'hopper\' han tilbage... Dette ser ret latterligt ud i længden.... Hvordan kan jeg forhindre dette?
