![]() |
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 ![]() 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: |
Könntest du vieleicht nen teil deines quellcodes zeigen, dann wärs glaub ich zumindest einfacher
|
Hallo,
wende Dich doch an den Autor, bzw. den Betreibern der Site. Grüsse, Daniel :hi: |
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. |
hast du in der DXImageList1 ein bild drin das "1" und eins des "Stein" heißt?
bei mir gehts nämlich |
Ja ich hab eins mit namen "1" und "Stein" drin. k.A. wieso das bei mir nit funzt
|
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??? |
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