AGB  ·  Datenschutz  ·  Impressum  







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

Bild wird nicht richtig geladen?

Ein Thema von Edlmann · begonnen am 30. Nov 2010 · letzter Beitrag vom 30. Nov 2010
Antwort Antwort
Edlmann

Registriert seit: 19. Nov 2010
212 Beiträge
 
#1

Bild wird nicht richtig geladen?

  Alt 30. Nov 2010, 13:17
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:
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;
Jetzt ruf ich die Prozedur wie folgt auf:

Delphi-Quellcode:
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;
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.

Mfg und danke im Vorraus,
Edlmann
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: Bild wird nicht richtig geladen?

  Alt 30. Nov 2010, 13:31
statt Referenz
 PlayerPics[Index] := Bild; Kopie
 PlayerPics[Index].Assign(Bild);
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Edlmann

Registriert seit: 19. Nov 2010
212 Beiträge
 
#3

AW: Bild wird nicht richtig geladen?

  Alt 30. Nov 2010, 15:50
Hätte man drauf kommen können... Danke, Funktioniert
  Mit Zitat antworten Zitat
Antwort Antwort


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 14:40 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