![]() |
Komponenten über Befehl erstellen
N'Abend zusammen!
Ich sitze zur Zeit an einem Game, welches Komplett über TImage visualisiert wird. In diesem Spiel sollen per Tastendruck neue Images gesetzt werden, immer das gleiche. Ich hatte es erst so gelöst, dass ich die maximale Anzahl von Images außerhalb des sichtbaren Bereiches gesetzt habe und dann über den Tastendruck erst auf die definierte Position gesetzt :? Mein alter Informatiklehrer sagte, man könne Instanzen erzeugen... Ich habe es bereits mit create versucht, jedoch verstehe ich die Syntax nicht :oops:, und die Delphi Hilfe sagt mir, das Thema sei nicht vorhanden. Kann mir wer entweder ein konkretes Beispiel für create() zeigen, oder möglicher Weise sogar eine komplett andere Idee vorschlagen? ;) Liebe Grüße, Frank. [edit=SirThornberry]Schreibfehler im Titel korrigiert - Mfg, SirThornberry[/edit] |
Re: Komponenter über Befehl erstellen
Delphi-Quellcode:
Oder guck mal hier:
var
test: TImage; .... test := TImage.Create(self); test.parent := Form1; test.top := 20; test.left := 20; test.picture := ... ![]() |
Re: Komponenter über Befehl erstellen
Klingt sehr interessant und nachvollziehbar, aber .picture will meinen dateipfad nicht annehmen :(
Wie habe ich ihn denn zu deklarieren? |
Re: Komponenter über Befehl erstellen
Du musst ein TPicture-Objekt übergeben. ;)
|
Re: Komponenter über Befehl erstellen
Test.Picture.LoadFromFile könnte helfen.
|
Re: Komponenter über Befehl erstellen
Oh ja, das war's, danke :)
Trotz alledem, ich komme nicht weiter :( Sorry dass ich euer Forum mit solchen Fragen 'zumülle'... Nächstes Problem: Angeblich sei die Parent des Images nicht initialisiert worden, zumindest schmiert mir das Programm beim compilen ab. EAccessViolation im Project1.exe sagt er mir... |
Re: Komponenter über Befehl erstellen
Was hast du denn als Parent angegeben?
|
Re: Komponenter über Befehl erstellen
Wie in deinem Beispiel: Form1
|
Re: Komponenter über Befehl erstellen
Heißt dein Formular denn auch Form1? Ansonsten gib mal self an und guck was passiert.
|
Re: Komponenter über Befehl erstellen
Ja, es heißt Form1. Auch mit self als Parent bekomme ich den gleichen Fehler zurück.
Delphi-Quellcode:
procedure TForm1.keypressTIMERTimer(Sender: TObject);
begin // helpscreen if getAsyncKeyState(vk_f1) < 0 then helpimage.visible:=true else helpimage.visible:=false; // marker rechts if getasynckeystate(vk_right) < 0 then if markerimage.left=768 then markerimage.left:=0 else markerimage.left:=markerimage.left+32; // marker links if getasynckeystate(vk_left) < 0 then if markerimage.left=0 then markerimage.left:=768 else markerimage.left:=markerimage.left-32; // marker hoch if getasynckeystate(vk_up) < 0 then if markerimage.top=0 then markerimage.top:=448 else markerimage.top:=markerimage.top-32; // marker runter if getasynckeystate(vk_down) < 0 then if markerimage.top=448 then markerimage.top:=0 else markerimage.top:=markerimage.top+32; // cannon setzen if getasynckeystate(vk_up) < 0 then cannon:=timage.create(self); //cannon ist eine globale variable cannon.parent:=self; cannon.top:=markerimage.top; cannon.left:=markerimage.left; cannon.picture.loadfromfile('gfx\decal3.bmp'); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:04 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 by Thomas Breitkreuz