Kollision bei hohen Geschwindigkeiten

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

s_m_w

Betreff: Kollision bei hohen Geschwindigkeiten

BeitragFr, Aug 22, 2008 15:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
Ich habe mich mal ein einem JnR versucht, jedoch habe ich 2 Probleme, da ich ungleich große Tiles mit verschiedenen Eigenschaften etc haben möchte, zusammen mit hier und da sehr schnellen Bewegungen der Spielfigur (100 pixel/frame+) versagt bei mir jede Art von "normaler" Hitdetection die ich gefunden habe. Meine Idee war folgender Code, welcher zwar funktionierte, aber 1. nur für Y und 2. vermutlich ziemlich unschön und einfacher lösbar ist:
Code: [AUSKLAPPEN]
  For i = Min(Hero\OldY#,Hero\Y#) To Max(Hero\OldY#,Hero\Y#) Step 1
   For L.LevelObject = Each LevelObject
    If ImagesOverlap(L\Image,L\X#,L\Y#,Hero_Image,Hero\X#,i) Then
     If ImagesCollide(Hero_Image,Hero\X#,i,0,L\hitbox,L\X#,L\Y#,0) Then
      Hero\Y# = i
      Hero\VelY# = 0
      Exit
     EndIf
    EndIf
   Next
  Next

Kann mir da jemand ein wenig Hilfe geben?

Edit: Ausserdem soll es schräge Tiles geben an denen man mit genug Geschwindigkeit "hochrutscht", gibt es da eine schönere Möglichkeit, als über die Pixel des Tiles den Winkel herrauszufinden? Wie kann ich das Rutschen am schönsten realisieren?
Sheep Happens

The_Nici

BeitragFr, Aug 22, 2008 15:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich würde pro frame ein paar mal verschieben und auf Kollision prüfen.

s_m_w

BeitragFr, Aug 22, 2008 16:12
Antworten mit Zitat
Benutzer-Profile anzeigen
The_Nici hat Folgendes geschrieben:
Ich würde pro frame ein paar mal verschieben und auf Kollision prüfen.


Das ist doch recht ungenau und hilft mir nicht viel weiter. :/
Sheep Happens

The_Nici

BeitragFr, Aug 22, 2008 16:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Pseudocode:
Verschieben um 10 pixel
Kollision prüfen
Verschieben um 10 pixel
Kollision prüfen
Zeichnen
-----------

Heisst verschiebt sich um 20 pixel, wird jedoch auf 10 Pixel genau geprüft.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group