vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Spiel: Sprites, Collision 
Autor: realkizZ
Datum: 13.05.05 14:52

Hi, ich hab ein kleines Problem mit
1. den [u]Bewegungsanimationen -
wie kann ich mehrere Sprites bei einem Schritt einbringen?
2. der [u]Kollisions-Abfrage -
im Moment ist alles statisch, aber ich würde gerne sowas wie ein
vorgefertigtes Objekt bauen, das nicht betreten werden kann oder
evtl. sogar eine Funktion ausführt.
------------------------------------------------------------
Ein Bild zur Verdeutlichung:

http://www.styleworks.de/kon1.jpg
------------------------------------------------------------
Und das ist der ganze Code bis jetzt:
"shpCharacter" ist das Image der Spielfigur;
alle "shpSpace"-Objekte sind Shapes für geblockte Felder (in meiner Zeichnung rot);

Dim varMove_left As Integer
Dim varMove_top As Integer
Dim MovementAllowed As Boolean
Option Explicit
 
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
'Key-Event
    Dim Number As Integer
    Dim Collision As Boolean
    Select Case KeyCode
        Case vbKeyUp
            shpCharacter.Picture = LoadPicture(App.Path + _
              "\gfx\player1_sprites\player1_up.gif")
            Call letMove(-250, 0)
        Case vbKeyDown
            shpCharacter.Picture = LoadPicture(App.Path + _
              "\gfx\player1_sprites\player1_down.gif")
            Call letMove(250, 0)
        Case vbKeyLeft
            shpCharacter.Picture = LoadPicture(App.Path + _
              "\gfx\player1_sprites\player1_left.gif")
            Call letMove(0, -200)
        Case vbKeyRight
            shpCharacter.Picture = LoadPicture(App.Path + _
              "\gfx\player1_sprites\player1_right.gif")
            Call letMove(0, 200)
        Case KeyCode = 27
        		End
    End Select
 
'Collision-Check 
    For Number = 0 To shpSpace.UBound
        If shpCharacter.Left < shpSpace(Number).Left + shpSpace(Number).Width _
          And shpSpace(Number).Left < shpCharacter.Left + shpCharacter.Width Then
            If shpCharacter.Top < shpSpace(Number).Top + shpSpace( _
            Number).Height And shpSpace(Number).Top < shpCharacter.Top + _
            shpCharacter.Height Then
                Collision = True
            End If
        End If
    Next
 
    If Collision = True Then
        Select Case KeyCode
            Case vbKeyLeft
                shpCharacter.Left = shpCharacter.Left + 200
            Case vbKeyRight
                shpCharacter.Left = shpCharacter.Left - 200
            Case vbKeyUp
                shpCharacter.Top = shpCharacter.Top + 250
            Case vbKeyDown
                shpCharacter.Top = shpCharacter.Top - 250
        End Select
     End If 
End Sub
 
Function letMove(varMove_top, varMove_left)
    shpCharacter.Move shpCharacter.Left + varMove_left
    shpCharacter.Move shpCharacter.Left, shpCharacter.Top + varMove_top
End Function
------------------------------------------------------------
Vielen Dank im Vorraus,
so long, realkizZ.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Spiel: Sprites, Collision1.161realkizZ13.05.05 14:52
Re: Spiel: Sprites, Collision731stefan8813.05.05 17:37
Re: Spiel: Sprites, Collision770That13.05.05 22:11
Re: Spiel: Sprites, Collision704realkizZ14.05.05 10:25
Re: Spiel: Sprites, Collision711That14.05.05 12:04
Re: Spiel: Sprites, Collision702realkizZ17.05.05 20:12
Re: Spiel: Sprites, Collision724That17.05.05 22:09
Re: Spiel: Sprites, Collision736realkizZ17.05.05 22:49
Re: Spiel: Sprites, Collision694That17.05.05 23:20

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel