AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Kollisionen bei GLScene

Ein Thema von Ironmaster · begonnen am 31. Aug 2006 · letzter Beitrag vom 4. Sep 2006
Antwort Antwort
Ironmaster

Registriert seit: 19. Mai 2006
70 Beiträge
 
Delphi 7 Personal
 
#1

Kollisionen bei GLScene

  Alt 31. Aug 2006, 17:22
Hallo

ich benutze zur zeit GLScene für 3d-programmierung und arbeite gerade an einem ping pong-spiel. kennt ihr vielleicht. oben und unten 2 balken. ziel ist es den ball hinter den gegnerischen balken rollen zu lassen.

wie kann ich es programmieren, dass der ball von der wand abprallt, also von der wand reflektiert wird. muss ich den collisionsmanager benutzen oder mir selbst ne physik schreiben?

danke schon mal.
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Kollisionen bei GLScene

  Alt 31. Aug 2006, 18:03
Nö, dafür reicht der Collisionmanager. EInfach dem Ball und den Beiden Schlägern unter "effects" eine Collision hinzufügen und deren Coll-Manager auf deinen Colisionsmanager setzen. In der OnCollision des CM machen was immer du willst
Du musst allerdings regelmäßig mit Collisionmanager1.CheckCollision; nach Kollisionen "fahnden"^^
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#3

Re: Kollisionen bei GLScene

  Alt 31. Aug 2006, 18:08
Zum Collisionsmanger von GLScene: Der Kollisionsmanager dient nur dazu zu erkenen ob eine Kollision auftrit nicht wo diese Kollision ist.

Naja also für pingpong sollte man die abfragen eben selber machen sien ja nicht viele wie auf dem bild zu sehen ist.
Miniaturansicht angehängter Grafiken
tutorial_pingpong_135.png  
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Kollisionen bei GLScene

  Alt 31. Aug 2006, 18:10
Na und? Man kann ja mit Object1/2.Name oder Hint herausfindes, was kollidiert ist!
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#5

Re: Kollisionen bei GLScene

  Alt 1. Sep 2006, 12:08
Gut so kann man es auch machen allerdings wäre das schon mehr aufwand als es eben selber zu schreiben. Auch dürfte eine eigene Lösung in diesen 2D Fall schneller sein. Was man nun nimt ist aber letztlich egal...

Bei der GLScene Demo Pong wird alles mit Vectoren gemacht...
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
Ironmaster

Registriert seit: 19. Mai 2006
70 Beiträge
 
Delphi 7 Personal
 
#6

Re: Kollisionen bei GLScene

  Alt 3. Sep 2006, 20:00
ok, ich habe es genau so gemacht wie inherited es beschrieben hat, nur leider reagiert der Kollisionsmanager gar nicht auf

CollisionsManager1.CheckCollisions; was mache ich falsch???
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

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

Re: Kollisionen bei GLScene

  Alt 4. Sep 2006, 08:17
Genau so ? Das kann ich an dem Stückchen Code gar nicht so sehen.

Pseudocode:
Code:
procedure TForm.Timer;
begin
  CollisionManager1.CheckCollisions;
end;

procedure TForm.CollisionManager1Collision(object1,
  object2: TGLBaseSceneObject); // hoffe mal das stimmt so
begin
   Kollision ist zwischen Object1(.Name) und Object2(.Name)
end;
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Ironmaster

Registriert seit: 19. Mai 2006
70 Beiträge
 
Delphi 7 Personal
 
#8

Re: Kollisionen bei GLScene

  Alt 4. Sep 2006, 14:58
ok, das habe ich jetzt hinbekommen. jetzt habe ich neue probleme: bis jetzt habe ich den ball mit

Ball.Position.XYZ := Ball.Position.XYZ + 0,5 bewegt. dabei treten fehler auf. z.b. das der ball einfach aus dem spielfeld austritt. mir ist klar, warum das so ist.
jetzt möchte ich es mit vektoren (die mit sicherheit genauer in bewegungen sind) versuchen.

jetzt meine frage: wie benutze ich sie???

danke schon mal
  Mit Zitat antworten Zitat
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#9

Re: Kollisionen bei GLScene

  Alt 4. Sep 2006, 15:14
Nun nim keine Vektoren sondern die GLScene Functionen TGLBaseSceneObject.Move TGLBaseSceneObject.Turn etc.
Nun mach Bewegungen in einen Cadencer da man hierbei alle werte mit deltaTime multiplisieren kann so werden die Bewegungen auf allen Rechern genau und immer Gleich schnell.
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Kollisionen bei GLScene

  Alt 4. Sep 2006, 16:22
Und gleich die CheckCollision mit in den Cadencer.OnProgress^^
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Antwort Antwort


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 15:42 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