Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mi Jul 09, 2025 14:29

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Einfache 2D Kollision
BeitragVerfasst: Mo Mär 05, 2007 19:47 
Offline
DGL Member

Registriert: Do Nov 23, 2006 20:44
Beiträge: 21
Wohnort: Wien
Hallo,

Also ich habe in der Suche schon geschaut und einige Lösungen gefunden -
allerdings glaub ich das fast alle Lösungen zu kompliziert und aufwendig für mich sind.


Problemstellung: Ich habe 2 Quads auf denen zwei Texturen kleben. (Zwei Autos)

Ein Quad ist fix, ein anderes läßt sich vom Benutzer steuern.

Sobald die zwei Autos Crashen soll eine Procedur ausgelößt werden.


Gibt es den in Open GL nicht eine ganz einfache Abfrage funktion wie

If Objekt1 in Objekt2 then Buum;

die Transparent berücksichtigt?

Ich meine, sogar Delphi X hatte so eine Abfrage (obwohl sie bei Transparent oft einen Bug hatte).


Gibts so was?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 05, 2007 20:09 
Offline
DGL Member

Registriert: Di Jun 06, 2006 09:59
Beiträge: 474
Pixelgenaue abfrage ist mit rotierenden objekten recht schwer. Man kann zwar manchmal die graka benutzen, das ist imo aber badstyle. Die pixelgenaue abfrage von DelphiX funzt auch nur mit nicht rotierenden objekten.(Wird aber auch bei rotierenden angewand->bug).
Ich würde die Autos eher als polygon festlegen, und dann ne überschneidung der polys feststellen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 05, 2007 21:07 
Offline
DGL Member

Registriert: Do Nov 23, 2006 20:44
Beiträge: 21
Wohnort: Wien
Hallo,

und wie mach ich sowas?

Giebt es auf DGL Wiki irgendein Tutorial was eine einfache Kollision erklärt?

Oder gibt es sonst wo ein Beispiel?

Vor allem in 2D damit es nicht zu komplex wird...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 05, 2007 22:47 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2068
Programmiersprache: C++
Es gibt im DGLSDK ein Beispiel und im Wiki auch was.

_________________
Steppity,steppity,step,step,step! :twisted:
❆ ❄ ❄ ❄ ❅ ❄ ❆ ❄ ❅ ❄ ❅ ❄ ❅ ❄ ❄
❄ ❄ ❄ ❅ ❄ ❄ ❄ ❅ ❄ ❄ ❆ ❄ ❄


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 11, 2007 15:48 
Offline
DGL Member

Registriert: Sa Mär 10, 2007 20:18
Beiträge: 1
Hi,

ich weiß nicht ob du mit deinem Problem schon weiter bist
aber ich habe eine 2D Kollision wie folgt aufgebaut.

Hier wird geprüft ob sich die Grafiken des Spielers und des Twisters überschneiden.

Code:
  1.  
  2.  
  3. if (RectTwister.y < RectPlayer.y + RectPlayer.h &&
  4.     RectTwister.y + RectTwister.h > RectPlayer.y &&
  5.     RectTwister.x < RectPlayer.x + RectPlayer.w &&
  6.     RectTwister.x + RectTwiter.w > RectPlayer.x)
  7.     {
  8.         // Anweisung
  9.     }
  10.  
  11.  


Vielleicht konnte ich etwas helfen.

Gruß Sticky


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 11, 2007 21:37 
Offline
DGL Member

Registriert: Di Jun 06, 2006 09:59
Beiträge: 474
Er wollte eine Pixelgenau abfrage, und keine AABB. (Wobei AABB natürlich dem Pixeltest vorrausgeht)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 11 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 16 Queries | GZIP : On ]