AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Kollisionstest mit GLScene schlägt fehl...

Kollisionstest mit GLScene schlägt fehl...

Ein Thema von Teekeks · begonnen am 6. Dez 2008 · letzter Beitrag vom 9. Dez 2008
Antwort Antwort
Seite 1 von 2  1 2   
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#1

Kollisionstest mit GLScene schlägt fehl...

  Alt 6. Dez 2008, 14:37
Hi!
Ich programmiere momentan ein kleines 3D-Spiel mit GLScene.
Ich habe ein Problem mit CollisionManager1.Checkcollisions; dort tuhe ich folgendes:
Delphi-Quellcode:
procedure TForm1.CollisionManager1Collision(Sender: TObject; object1,
  object2: TGLBaseSceneObject);
begin
  if ((Object1.Name='GLCube1') or (Object2.Name='GLCube1')) then
    gut:=false
  else gut:=true;
end;
aber irgentwie scheint mir als würde
CollisionManager1.Checkcollisions; garnicht aufgerufen werden...

zuweisen tu ich das folgendermaßen:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var col:tglbcollision;
begin
  col:=tglbcollision.Create(GLCube1.Behaviours);
  col.BoundingMode:=cbmCube;
  col.Manager:=CollisionManager1;
  col.Name:='Collision';
  GLCube1.Behaviours.Add(col);
// ab hier unwichtig
//also: ...
end;
Ich habe keinerlei ahnung was hier nicht hinhaut...

[edit] hatte mich verschrieben...
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#2

Re: Kollisionstest mit GLScene schlägt fehl...

  Alt 7. Dez 2008, 06:45
Was mir sofort ins Auge fällt:

if ((Object1.Name='GLCube1') or (Object2.Name='GLCube1')) then GLCube1 collidiiert mit sich selbet ? Und dann auch noch als "or" ?


Man würde doch sagen, collidiieren Objekt1 und Objekt2 ?
Also:
if ((Object1.Name='GLCube1') and (Object2.Name='GLCube2')) then
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Kollisionstest mit GLScene schlägt fehl...

  Alt 7. Dez 2008, 07:49
Naja mir gehts mit
if ((Object1.Name='GLCube1') or (Object2.Name='GLCube1')) then eigentlich nur darum ob einer der Kollidierenden Körper GLCube1 ist oder nicht.
Und eigentlich könnte ja dieser GLCube1 genausogut in Object1 wie in Object2 sein...
Oder habe ich einen Denkfehler?

aber schonmahl danke fürs bemühen...

gruß Teekeks
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#4

Re: Kollisionstest mit GLScene schlägt fehl...

  Alt 7. Dez 2008, 08:34
Zitat:
Oder habe ich einen Denkfehler?
Nein, den hatte ich.

Das OR nicht falsch wie von mir Behaupted.


Hast du den CollisionManager in OnProgress vom GLCadencer eingetragen ?

Delphi-Quellcode:
procedure TFormX.GLCadencerXProgress(Sender: TObject; const deltaTime,
  newTime: Double);
begin
  CollisionManagerX.CheckCollisions;
end;
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Kollisionstest mit GLScene schlägt fehl...

  Alt 7. Dez 2008, 08:40
ich habs jetz auch nochmahl mit deiner variante ausprobiert... der Körper Cube geht ganz sauber durch den anderen durch → Schlecht!
Ich hab auch eher den verdacht das der... dam! sag mal, der 2.Cube muss doch bestimmt auch von dem CollisionManager gesteuert werden... probiere ich gleich mal aus...
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#6

Re: Kollisionstest mit GLScene schlägt fehl...

  Alt 7. Dez 2008, 08:44
hmmm, geht immernoch glatt durch.
jetzt habe ich das so gelößt:
Delphi-Quellcode:
procedure TForm1.CollisionManager1Collision(Sender: TObject; object1,
  object2: TGLBaseSceneObject);
begin
  if ((Object1.Name='GLCube1') and (Object2.Name='GLCube2')) or ((Object1.Name='GLCube2') and (Object2.Name='GLCube1')) then
    gut:=false
  else gut:=true;
end;
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#7

Re: Kollisionstest mit GLScene schlägt fehl...

  Alt 7. Dez 2008, 08:50
Man kann auch seine Beiträge editieren!

Ich habe es mal gemacht, siehe Post #4.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#8

Re: Kollisionstest mit GLScene schlägt fehl...

  Alt 7. Dez 2008, 09:01
hmm, stimmt kann man machen, ist aber jetzt zuspät... aber für die Zukunft.

und: Ja ich habe es in den Cadencer eingetragen.
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#9

Re: Kollisionstest mit GLScene schlägt fehl...

  Alt 7. Dez 2008, 09:03
Häng es mal an, nun will ichs wissen was fehlt...
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#10

Re: Kollisionstest mit GLScene schlägt fehl...

  Alt 7. Dez 2008, 09:15
hier bitte, ist aber ja für Lazarus...
Angehängte Dateien
Dateityp: zip hl_795.zip (223,4 KB, 14x aufgerufen)
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz