AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi [Andorra2D] TSprite.Image mit eigenem Bitmap
Thema durchsuchen
Ansicht
Themen-Optionen

[Andorra2D] TSprite.Image mit eigenem Bitmap

Ein Thema von nuclearping · begonnen am 25. Sep 2012 · letzter Beitrag vom 25. Sep 2012
 
nuclearping

Registriert seit: 7. Jun 2008
708 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

[Andorra2D] TSprite.Image mit eigenem Bitmap

  Alt 25. Sep 2012, 22:26
Hallo!

Ich probiere hier schon seit gut 'ner Stunde rum, in einem per Event erzeugten Sprite ein eigenes Bitmap zuzuweisen, was aber überhaupt nicht klappen will ...

Delphi-Quellcode:
Z := FAttachedSprite.Z + 1;
FTargetX := AX;
FTargetY := AY;
FSpeed := ASpeed;
W := Round(Abs(FTargetX - X));
H := Round(Abs(FTargetY - Y));
Bmp := TBitmap.Create;
try
  Bmp.PixelFormat := pf32Bit;
  Bmp.Width := W;
  Bmp.Height := H;
  with Bmp.Canvas do
    begin
      Brush.Color := clYellow;
      FillRect(ClipRect);
      Pen.Color := clBlue;
      Pen.Width := 4;

      if FTargetX < X then
        begin
          StartX := Bmp.Width;
          EndX := 0;
        end
      else
        begin
          StartX := 0;
          EndX := Bmp.Width;
        end;
      
      if FTargetY < Y then
        begin
          StartY := Bmp.Height;
          EndY := 0;
        end
      else
        begin
          StartY := 0;
          EndY := Bmp.Height;
        end;

      MoveTo(StartX, StartY);
      LineTo(EndX, EndY);
    end;

  // Alternativ Bmp mit irgendeinem Bild laden
  // Bmp.LoadFromFile('C:\Temp\Test1.bmp');

  TempSprite := TAnimationSprite.Create(Parent, FDraw);
  TempSprite.X := X;
  TempSprite.Y := Y;
  TempSprite.Z := Z;
  TempSprite.Image := TAdImage.Create(FDraw);
  TempSprite.Image.Texture.LoadFromGraphic(Bmp);
  TempSprite.Image.Restore; // geht nicht
Ich sehe aber nichts auf der Spielfläche.

Weise ich dagegen TempSprite.Image irgendein Image aus der globalen ImageList zu, funktionierts und das Sprite wird auf der Spielfläche gezeichnet.
Delphi-Quellcode:
  TempSprite := TAnimationSprite.Create(Parent, FDraw);
  TempSprite.X := X;
  TempSprite.Y := Y;
  TempSprite.Z := Z;
  TempSprite.Image := FImageList[0]; // geht
Warum? Ich vermute, ich habe irgendwas bei der Initialisierung vergessen oder falsch gemacht. Ich kann aber nichts erkennen, vorallem weil's in der DynTexture-Demo ja auch so gemacht wird.
  Mit Zitat antworten Zitat
 


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 10:46 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