![]() |
Bild wird nicht richtig geladen?
Guten Nachmittag liebe DP, ich such jetzt schon seit gestern ein Problem in einem Programm von mir, doch ich find es ums verrecken nicht.
Ich versuche, so eine art BoxHead (2D-Shooter) nachzubauen. Dafür habe ich mir jetzt eine Klasse Names TPlayer gemacht, die halt alle Prozeduren rund um den Spieler beinhaltet. Nun soll es möglich sein, in 8 verschiedene Richtungen zu gehen, und somit muss die Klasse TPlayer auch 8 verschiedene Bilder (für jede Richtung eins) kennen. Soweit so gut. Ich deklariere also ein Array aus 8 Bildern und habe eine Prozedur, die die Bilder von außen aus setzen kann.
Delphi-Quellcode:
Jetzt ruf ich die Prozedur wie folgt auf:
type
TPlayer = class ... PlayerPics: array [0..7] of TBitMap; private { Private-Deklarationen } public { Public-Deklarationen } procedure SetPlayerPic(Bild: TBitMap; Index: Integer); end; ... procedure TPlayer.SetPlayerPic(Bild: TBitMap; Index: Integer); begin PlayerPics[Index] := Bild; end;
Delphi-Quellcode:
Die Jeweiligen BMP's stehen erstmal für die 4 simplen Richtungen (Oben, Unten, Rechts, Links). Doch wenn ich die verschiedenen Bilder jetzt auf mein Formular zeichnen lasse, sind alle 4 Bilder gleich. Wenn ich eines der Bilder nicht lade, ist dieses (was ja auch logisch ist) leer. Aber warum sind alle 4 Bilder gleich? Das ergibt soweit keinen Sinn. Hoffentlich hat einer von euch eine Idee, woran das liegt.
procedure TForm1.FormCreate(Sender: TObject);
var tempPic: TBitMap; begin Spieler := TPlayer.Create(4,4); tempPic := TBitMap.Create; tempPic.Transparent := true; tempPic.LoadFromFile('BitMaps/Player_Up.bmp'); Spieler.SetPlayerPic(tempPic, 1); tempPic.LoadFromFile('BitMaps/Player_Down.bmp'); Spieler.SetPlayerPic(tempPic, 5); tempPic.LoadFromFile('BitMaps/Player_Right.bmp'); Spieler.SetPlayerPic(tempPic, 3); tempPic.LoadFromFile('BitMaps/Player_Left.bmp'); Spieler.SetPlayerPic(tempPic, 7); end; Mfg und danke im Vorraus, Edlmann |
AW: Bild wird nicht richtig geladen?
statt Referenz
Delphi-Quellcode:
Kopie
PlayerPics[Index] := Bild;
Delphi-Quellcode:
PlayerPics[Index].Assign(Bild);
|
AW: Bild wird nicht richtig geladen?
Hätte man drauf kommen können... Danke, Funktioniert ;)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:06 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