vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

Fortgeschrittene Programmierung
Kollisionsabfrage 
Autor: Jisc
Datum: 26.09.06 10:03

Hi

Ich programmiere für die Schule gerade ein Spiel, dafür benötige ich eine Kollisionsabfrage.

Bis jetzt habe ich das folgende Programmiert:
Option Explicit
 
Dim a As Integer
Dim b As Integer
Dim c As Integer
Dim d As Integer
 
 
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
  Select Case KeyCode
    Case vbKeyDown
      Shape1.Top = Shape1.Top + a
      b = 50
      c = 50
      d = 50
    Case vbKeyUp
      Shape1.Top = Shape1.Top - b
      a = 50
      c = 50
      d = 50
    Case vbKeyRight
      Shape1.Left = Shape1.Left + c
      a = 50
      b = 50
      d = 50
    Case vbKeyLeft
      Shape1.Left = Shape1.Left - d
      a = 50
      b = 50
      c = 50
  End Select
  Dim i As Integer
  Dim o As Integer
  For i = 0 To 'anzahl an Linien
If Shape1.Left = Line1(i).X1 Then
  d = 0
End If
Next i
Dim t as Integer
For t = 0 To 'anzahl an Linien
If Shape1.Left = Line2(t).X1 Then
  c = 0
End If
Next t
For o = 0 To 'anzahl an Linien
If Shape1.Top = Line3(o).Y1 Then
  a = 0
End If
Next o
Dim P as Integer
If Shape1.Top = Line4(P).Y2 Then
b = 0
End If
Next P
'Links = d = 1
'rechts = c = 2
'oben =b = 4
'unten = a = 3
End Sub
 
Private Sub Form_Load()
a = 50
b = 50
c = 50
d = 50
End Sub
Ich habe deie Linien je nachdem ob sie Senkrecht und links vom weg, Senkrechtund rechts vom Weg, Waagerecht und über dem Weg oder Waagerecht und unter dem Weg benannt.
Die Probleme sind:

1. Die Kollision funktioniert nur, wenn der Punkt genau auf die Linie kommt.

2. Wenn er durch Linien unter dem Weg geht, bleibt das Objekt erst stehen, wenn es die Linie mit dem Oberen Rand berühert, demnach schon halb durch "die Wand gelaufen ist".

Wäre für Hilfe dankbar.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Kollisionsabfrage779Jisc26.09.06 10:03
Re: Kollisionsabfrage491Jisc26.09.06 10:08
Re: Kollisionsabfrage471Zardoz26.09.06 13:31
Re: Kollisionsabfrage436Jisc26.09.06 16:30

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-2025 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