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

Aktuelle Zeit: Mi Jul 09, 2025 02:26

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



Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: collisions abfrage!
BeitragVerfasst: Fr Mai 21, 2004 08:35 
Offline
DGL Member

Registriert: Mi Mär 17, 2004 10:16
Beiträge: 22
also meine collisions abfrage schaut zur zeit so aus
Code:
  1. if ( (inrange(box1.zentrum[0]-box1.achsenl[0],box2.zentrum[0]-box2.achsenl[0],box2.zentrum[0]+box2.achsenl[0]))or
  2.    (inrange(box1.zentrum[0]+box1.achsenl[0],box2.zentrum[0]-box2.achsenl[0],box2.zentrum[0]+box2.achsenl[0])))and
  3.    ((inrange(box1.zentrum[1]-box1.achsenl[1],box2.zentrum[1]-box2.achsenl[1],box2.zentrum[1]+box2.achsenl[1]))or
  4.    (inrange(box1.zentrum[1]+box1.achsenl[1],box2.zentrum[1]-box2.achsenl[1],box2.zentrum[1]+box2.achsenl[1])))and
  5.    ((inrange(box1.zentrum[2]-box1.achsenl[2],box2.zentrum[2]-box2.achsenl[2],box2.zentrum[2]+box2.achsenl[2]))or
  6.    (inrange(box1.zentrum[2]+box1.achsenl[2],box2.zentrum[2]-box2.achsenl[2],box2.zentrum[2]+box2.achsenl[2])))
  7.    then
  8. result:=true
  9. else result:=false;

tbox ist so gedacht das ma das zentrum der box angibt und die jeweilige seiten länge!
Nur ist es so das die collisions abfrage erst reagiert nachdem der ander körper ein stück drinen ist!!!
woran liegt der fehler?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mai 21, 2004 09:33 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Ich schätze mal dein Problem liegt in der Funktion inRange, aber ohne den Quellcode kann man da nix sagen.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mai 21, 2004 09:41 
Offline
DGL Member

Registriert: Mi Mär 17, 2004 10:16
Beiträge: 22
hm..das problem hat sich schon gelöst!!
hab die beiden boxen einfach falsch angegebne!
*sich in den arsch beißen kan*
hat aber trotzdem lange gedauert bis ich den fehler fand!
danke!!!
für die hilfe!
was mich noch interessiert ist warum es an der inrange funktion liegen soll!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mai 21, 2004 09:57 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Mf_Gh hat geschrieben:
was mich noch interessiert ist warum es an der inrange funktion liegen soll!


Weil es gut möglich ist das du in der Funktion nen Vergleich machst. Und manchmal macht man halt nur ein ">" statt eines ">=" und schon hat man solche Probleme. Deshalb die Vermutung, und es ist halt immer besser wenn man solche wichtigen Funktionen mitpostet.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mai 21, 2004 09:59 
Offline
DGL Member

Registriert: Mi Mär 17, 2004 10:16
Beiträge: 22
ja nur is die function aus der math unit von delphi!!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mai 21, 2004 10:02 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Aha, dann kannst du natürlich den Quellcode dazu nicht posten. Dachte das wäre eine selbstgeschriebene Funktion (nutze nur sehr wenige Sachen aus der Math-Unit, habe dafür meine eigene an OpenGL orientierte Matheunit).

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mai 21, 2004 10:16 
Offline
DGL Member

Registriert: Mi Mär 17, 2004 10:16
Beiträge: 22
naja danke!!
als nächster muss ich mir nur noch überlegen wie ich da ganze angeh damit ich meine box auch drehen kan!!
würde mich über denk anstöße sehr freuhen dah ich zur zeit keine idee habe wie ich das machen soll!!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mai 21, 2004 16:25 
Offline
DGL Member

Registriert: Di Sep 30, 2003 22:22
Beiträge: 78
Wohnort: irgendwo in den Korridoren der Von Braun
Denkanstoß: Zieh mal in Betracht einen Kreis (2D) oder eine Kugel (3D) für die Kollisionsabfrage zu verwenden, falls das Einsatzgebiet es zulässt (Du sagst ja nicht wozu Du es brauchst).

-silk

_________________
"Look at you, Hacker. A pathetic creature of meat and bone, panting and sweating as you run through my corridors. How can you challenge a perfect, immortal machine?" - Shodan


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mai 21, 2004 16:35 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Die BBox in 3D Shootern wird nicht gedreht, auch wenn sich der Spieler dreht. Das ginge auch gar nicht, weil man dann eventuell mit einer Ecke der Box beim Drehen an der Wand hängen bleiben würde.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mai 21, 2004 18:49 
Offline
DGL Member

Registriert: Mi Mär 17, 2004 10:16
Beiträge: 22
also ich mach grad eine breakout clon und hab für den die collisions abfrage gemach und dan hab ich mir gedacht wenn es nicht all zu schwer ist will ich die gleich so machen das sie ach dreh bar ist und so für später zwecke!!


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


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.013s | 17 Queries | GZIP : On ]