AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Kollisionsabfrage

Ein Thema von devnull · begonnen am 10. Jul 2004 · letzter Beitrag vom 10. Jul 2004
Antwort Antwort
Benutzerbild von devnull
devnull

Registriert seit: 5. Okt 2003
362 Beiträge
 
Delphi 7 Personal
 
#1

Kollisionsabfrage

  Alt 10. Jul 2004, 13:03
Hi,
wie kann man am Besten die Kollision des Raumschiffs mit einem dynamischen Bild (Planeten) auf der Paintbox feststellen?
Ich möchte verhindern, dass das Raumschiff durch die Planeten fliegen kann, jedoch bestimmen, welcher Planet in der unmittelbaren Nähe ist...

-> Bild siehe Anhang

mfg
devnull
Miniaturansicht angehängter Grafiken
cw_test.jpg  
-- Never change a running system --
  Mit Zitat antworten Zitat
tommie-lie
(Gast)

n/a Beiträge
 
#2

Re: Kollisionsabfrage

  Alt 10. Jul 2004, 13:42
Wenn die Planeten und das Raumschiff auch eckig sein dürfen:
Delphi-Quellcode:
// -----------------------
function RectIntersect(A, B: TRect; Offset: Integer): Boolean;
begin
  result := not((A.Right + Offset <= B.Left) or
                (A.Bottom + Offset <= B.Top) or
                (A.Top - Offset >= B.Bottom) or
                (A.Left - Offset >= B.Right));
end;
// -----------------------

for i := 0 to Planets.Count - 1 do
begin
  if RectIntersect(
    Rect(Planets[i].X, Planets[i].Y, Planets[i].X + Planets[i].Width, Planets[i].Y + Planets[i].Height),
    Rect(Starship.X, Starship.Y, Starship.X + Starship.Width, Starship.Y + Starship.Height),
    , 0)
  then
    // Kollision
end;
Die einzelnen Daten hängen natürlich davon ab, wie du die Position und Maße der Objekte speicherst. Ich bin hier von Phantasieklassen ausgegangen, dürfte aber eigentlich selbsterklärend sein
  Mit Zitat antworten Zitat
Benutzerbild von devnull
devnull

Registriert seit: 5. Okt 2003
362 Beiträge
 
Delphi 7 Personal
 
#3

Re: Kollisionsabfrage

  Alt 10. Jul 2004, 14:08
Danke, jetzt funzt alles
-- Never change a running system --
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Kollisionsabfrage

  Alt 10. Jul 2004, 14:14
@devnull: Mache das Bild bitte als Anhang.

Danke,
......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
10. Jul 2004, 18:26
Dieses Thema wurde von "sakura" von "Sonstige Fragen zu Delphi" nach "Multimedia" verschoben.
Benutzerbild von devnull
devnull

Registriert seit: 5. Okt 2003
362 Beiträge
 
Delphi 7 Personal
 
#6

Re: Kollisionsabfrage

  Alt 10. Jul 2004, 21:13
@sakura: Bild ist nun im Anhang


[EDIT]Neue Frage, neue Eintrag[/EDIT]

mfg
devnull
-- Never change a running system --
  Mit Zitat antworten Zitat
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 15:39 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