Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Bild wird nicht angezeigt (https://www.delphipraxis.net/5285-bild-wird-nicht-angezeigt.html)

Wolverine 31. Mai 2003 10:28


Bild wird nicht angezeigt
 
Hallo alle zusammen.
Ich hab da ein Problem beim anzeigen eines meiner Bilder.
Und zwar habe ich das DelphiX - Tutorial unter Delphi - Treff (KEINE Werbung) genommen.
Dort "Kapitel 6: Kollisionen, Sprites" geprogged.

Allerdings wird das zweite Bild nicht angezeigt und ich kann komplett über die DXDraw Ebene mit dem 1. Bild fahren ohne das was passiert!!! :!:

Vielleicht kann mir da einer weiterhelfen??? :?:

Bin für jede Hilfe dankbar!!! :mrgreen:

TheXception 31. Mai 2003 10:31

Könntest du vieleicht nen teil deines quellcodes zeigen, dann wärs glaub ich zumindest einfacher

Daniel B 31. Mai 2003 11:05

Hallo,

wende Dich doch an den Autor, bzw. den Betreibern der Site.

Grüsse, Daniel :hi:

Wolverine 31. Mai 2003 11:05

Ok.
Hier nun mal der Quellcode (ist etwas lang!!!)

Delphi-Quellcode:
  TAnimation = class(TImageSprite)
  public
    procedure DoMove(MoveCount: Integer); override;
    constructor Create(AParent: TSprite ); override;
    procedure DoCollision(Sprite: TSprite; var Done: Boolean); override;
  end;

  TGegenstand = class(TImageSprite)
  public
    constructor Create(AParent: TSprite ); override;
  end;

var
  Form1: TForm1;
  Animation: TAnimation;
  Gegen:tgegenstand;

implementation

constructor TGegenstand.Create(AParent: TSprite );
begin
  inherited Create(AParent);
  Image:=Form1.DXImageList1.Items.Find('Stein');
  Width := Image.Width;
  Height := Image. Height;
  Visible:=True;
end;

constructor TAnimation.Create(AParent: TSprite );
begin
  inherited Create(AParent);
  Image:=Form1.DXImageList1.Items.Find('1');
  Width :=Image.Width;
  Height :=Image. Height;
  Visible:=True;
end;

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  with TAnimation.Create(DXSpriteEngine1.Engine) do
  begin
    x:=0;
    y:=0;
  end;
  with TGegenstand.Create(DXSpriteEngine1.Engine) do
  begin
    x:=40;
    y:=40;
  end;
end;

procedure TAnimation.DoCollision(Sprite: TSprite; var Done: Boolean);
begin
  if sprite is TGegenstand then
    begin
      beep;
      dead;
    end;
end;

procedure TAnimation.DoMove(MoveCount: Integer);
begin
  inherited DoMove(MoveCount); {Besonders wichtig !!!}
  If isUp in Form1.DXInput1.States Then
    Y := Y -1;
  If isDown in Form1.DXInput1.States
    Then Y := Y + 1;
  If isLeft in Form1.DXInput1.States Then
    X := X -1;
  If isRight in Form1.DXInput1.States Then
    X := X +1;
  AnimCount := 1; {Die Sachen kommen jetzt hier rein !!}
  AnimLooped := True;
  AnimSpeed := 20/1000;
  AnimStart := 0;

    Collision; {das muss ergänzt werden}
end;

procedure TForm1.DXTimer1Timer(Sender: TObject; LagCount: Integer);
begin
  DXInput1.Update;
  DXSpriteEngine1.Move(1);
  DXDraw1.Surface.Fill(0);
  DXSpriteEngine1.Draw;
  DXDraw1.Flip;
end;

procedure TForm1.Beenden1Click(Sender: TObject);
begin
Application.Terminate;
end;

end.

TheXception 31. Mai 2003 14:17

hast du in der DXImageList1 ein bild drin das "1" und eins des "Stein" heißt?

bei mir gehts nämlich

Wolverine 31. Mai 2003 14:20

Ja ich hab eins mit namen "1" und "Stein" drin. k.A. wieso das bei mir nit funzt

Wolverine 31. Mai 2003 14:23

HM .... komisch ich hab einfach mal ein anderes Bildformat genommen :oops: :oops: :oops:
Ich hab *.bmp anstelle von *.jpg genommen ....

Aber das Bild welches ich steuern kann, Bild "1", fährt einfach über "Stein" drüber ohne das sich was tut :cry:

Was ist nun schon wieder falsch???

Ricane 10. Okt 2003 16:20

Re: Bild wird nicht angezeigt
 
Ja,

das ist quasi auch sinn der Sache. Es passiert ja schon was, nämlich ein Piepton wird ausgegeben. Der ist nur meistens so leise das man ihn gar nicht hört.

Lustiger wäre es natürlich wenn an der Stelle dann der Sprite verschwinden würde, aber frage mich nicht wie das geht, ich suche selber die lösung dafür :gruebel:



Ricane


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:52 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