![]() |
Andorra 2D Kollision Frage
hey zusammen :),
Hab mal ne Frage, also : ich habe testweise ein Sprite auf einen anderen zulaufen lassen. Also z.B. eine Kugel(TImageSprite A ) auf eine Wand(TImageSprite B ). Habe da eine Kollisionsabfrage, das wenn die Kugel auf etwas trifft und das vom Typ z.B. TWand ist etwas passiert. Aber wenn ich mehrere Wände habe und ich z.B. will das die getroffene Wand zerstört, wie kann ich die getroffene Wand herausfinden? Wenn ich diese z.B. im Array hab
Delphi-Quellcode:
AWand : Array[0..9] of TWand;
[...] //Dann soll z.B. nach der Kollision die getroffene Wand zerstört werden... procedure TKugel.DoCollision(Sprite : TSprite); begin if Sprite is TWand then begin AWand[x].dead; //Wobei x dann die getroffene ist, aber wie bekomme ich dieses x dann heraus? end; end; mfg |
Re: Andorra 2D Kollision Frage
Versuch mal folgendes:
Delphi-Quellcode:
AWand : Array[0..9] of TWand;
[...] //Dann soll z.B. nach der Kollision die getroffene Wand zerstört werden... procedure TKugel.DoCollision(Sprite : TSprite); begin if Sprite is TWand then begin TWand(Sprite).dead; // das sollte funktionieren. Du zerstörst das getroffene Sprite, // falls du etwas machen willst, dass du in TWand deklariert hast, //solltest du TWand(Sprite) verwenden, sonst geht auch TWand.dead end; end; |
Re: Andorra 2D Kollision Frage
es scheint zu funktionieren :)
dankeschön für die Hilfe ;-) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz