AGB  ·  Datenschutz  ·  Impressum  







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

[DelphiX] Kollision

Ein Thema von Matze · begonnen am 9. Sep 2004 · letzter Beitrag vom 12. Sep 2004
 
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#1

[DelphiX] Kollision

  Alt 9. Sep 2004, 14:59
Hi zusammen!

Ich weiß, das Thema hatten wir schon oft, aber mir helfen die Suchergebnise nicht.


Folgender Code wird ausgelöst, wenn eine Kollision stattfindet (2D):
Delphi-Quellcode:
  TAnimation = class(TImageSprite)
    public
      procedure DoMove(MoveCount: Integer); override;
      procedure DoCollision(Sprite: TSprite; var Done: Boolean); override;
    end;

...


procedure TAnimation.DoCollision(Sprite: TSprite; var Done: Boolean);
var InCollision: boolean;
begin
  //Bewegung nach links (ich müsste noch die Y Koorinaten überprüfen)
  if (X < TGegenstand(Sprite).X + Gegenstand.Width) then
          cangoleft := false;
end;
Hier möchte ich abfragen, ob sich eine Figur in eine bestimmte Richtung bewegen kann, in dem Beispiel, nach links.

So überprüfe ich auch die anderen benachbarten Koorinaten, das Problem ist nur, dass diese Prozedur ausgelöst wird, wenn man sich in einem Gegenstand befindet, und nicht, wenn man danaben ist.


Hier ist eine Kollisionsabfrage beschrieben, die mich jedoch nicht weiter bringt.

Ich habe schon versucht, die Kollisions-Prozedur einfach neu zu schreiben und keine von TAnimation zu nehmen, doch das hat nicht geklappt, da, da z.B. "Sprite" nicht bekannt ist.


Kann mir da evtl jemand behilflich sein?
  Mit Zitat antworten Zitat
 


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 08:27 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