![]() |
Zugriff auf spezielle Eigenschaften einer Unterklasse
Hallo Leute,
programmiere gerade mit Hilfe von Andorra2D ein Spiel, nun tritt ein jedoch für mich nicht irgendwie nicht lösbares Problem auf, dieses hat allerdings nichts speziell mit Andorra2D zu tun, sondern es handelt sich vielmehr um ein OOP-Problem. Und zwar: Es gibt eine Hauptklasse TSprite, diese hat Unterklassen, darunter auch TImageSprite. TImageSprite ist eigentlich die einzige die ich verwende. Kollidiert nun ein Objekt wird seine DoCollision-Prozedur aufgerufen und das Sprite als TSprite übergeben, mit welchem es kollidiert ist. Da ich wie gesagt nur TImageSprite verwende handelt es sich bei diesem Sprite also eigentlich um die Unterklasse TImageSprite. Nun möchte ich eine spezielle Eigenschaft des Objekts mit dem ich kollidiert bin ändern, allerdings besitzt nur die Unterklasse TImageSprite diese Eigenschaft, die Hauptklasse TSprite nicht. Wie stelle ich es den nun an, dass ich ohne die komplette Engine zu modifizieren Zugriff auf die Eigenschaft des Objekts aus der Unterklasse erhalte? Wenn jemand meine Schilderung verstanden hat, wäre ich über eine Antwort sehr froh :) Vielen Dank schon mal! Grüße, I love Delphi! |
Re: Zugriff auf spezielle Eigenschaften einer Unterklasse
Delphi-Quellcode:
Achja, das nennt sich glaube ich Typecast und geht auch noch mit
TImageSprite(Sprite).Eigenschaft := Wert
Delphi-Quellcode:
glaube ich.
(Sprite as TImageSprite).Eigenschaft := Wert
|
Re: Zugriff auf spezielle Eigenschaften einer Unterklasse
Das erste ist ein harter Cast (ohne Prüfung der Kompatibilität) das 2. ein Softcast ( mit Prüfung)
|
Re: Zugriff auf spezielle Eigenschaften einer Unterklasse
Hallo nochmal,
das war die Lösung! Vielen Dank, Ihr seid echt top! Grüße, I love Delphi! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:03 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