![]() |
DelphiX unerklärlicher Fehler
Hi,
immer wenn ich etwas mit DelphiX machen möchte zeigt mir Delphi z.B. ein Bild nicht an. Obwohl ich
Delphi-Quellcode:
verwende.
DXDraw.Flip;
Nehmt euch als Beispiel den Rennspielcode von Spider (wie schon erwähnt, bei jedem Prog von mir tritt dieser Fehler auf). Könnt ihr mir da weiterhelfen? |
Re: DelphiX unerklärlicher Fehler
Scheinbar hast Du einen Befehl ö.ä. vergessen.
Schaue mal hier: ![]() Da gibt's ein DelphiX-Tutorial, welches ein simples Bild anzeigt. Vielleicht hilft Dir das ja weiter. |
Re: DelphiX unerklärlicher Fehler
Hi Nils,
hast du überhaupt ein Bild in der ImageList? Hast du der ImageList und der SpriteEngine das DXDraw zugewiesen? Rufst du vorher:
Delphi-Quellcode:
auf?
DXSpriteEngine1.Move(1);
DXDraw1.Surface.Fill(clBlack); DXSpriteEngine.Draw; DXDraw1.Flip; |
Re: DelphiX unerklärlicher Fehler
Ja, es läuft trotzdem nicht.
In einem Constructor steht
Delphi-Quellcode:
AutoInitialize steht auf False
constructor TPlayerSprite.Create(AParent: TSprite);
begin inherited Create(AParent); Image := MainForm.ImageList.Items.Find('Ship'); Width := Image.Width; Height := Image.Height; end;
Delphi-Quellcode:
Timer
procedure TMainForm.DrawInitialize(Sender: TObject);
begin DXTimer.Enabled := True; end;
Delphi-Quellcode:
DoMove
procedure TMainForm.DXTimerTimer(Sender: TObject; LagCount: Integer);
begin ImageList.Items[0].draw(draw.surface, 0, 0, 0); Input.Update; SpriteEngine.Move(5); Draw.Surface.Fill(clBlack); SpriteEngine.Draw; Draw.Flip; end;
Delphi-Quellcode:
Leider gibt es keine wirklich Hilfreichen Tuts für DelphiX, immer wenn es 'spannend' wird hört es auf.
procedure TPlayerSprite.DoMove(MoveCount: Integer);
begin inherited DoMove(MoveCount); if fm=0 then begin if isUp in MainForm.Input.States then Y := Y - (250/1000)*MoveCount; if isDown in MainForm.Input.States then Y := Y + (250/1000)*MoveCount; if isLeft in MainForm.Input.States then X := X - (250/1000)*MoveCount; if isRight in MainForm.Input.States then X := X + (250/1000)*MoveCount; end; end; |
Re: DelphiX unerklärlicher Fehler
Wie wäre es wenn du das Sprite erstellst und nicht auf das Draw malst? :stupid:
Machs mal so:
Delphi-Quellcode:
procedure {Form-Create-Event}
begin with TPlayerSprite.Create(DXSpriteEngine1.Engine) do begin X := 50; Y := 50; end; end;
Delphi-Quellcode:
procedure TMainForm.DXTimerTimer(Sender: TObject; LagCount: Integer);
begin // ImageList.Items[0].draw(draw.surface, 0, 0, 0); Input.Update; SpriteEngine.Move(5); Draw.Surface.Fill(clBlack); SpriteEngine.Draw; Draw.Flip; end; |
Re: DelphiX unerklärlicher Fehler
:wall: verdammt bin ich nicht drauf gekommen.
Ich werd hier bald beklopt, dieses verdammter m**t läuft immer noch nicht :evil: @spider: wenn ich dein Projekt kopieren würde läufts nicht. |
DP-Maintenance
Dieses Thema wurde von "Daniel" von "Sonstige Fragen zu Delphi" nach "Multimedia" verschoben.
|
Re: DelphiX unerklärlicher Fehler
Zitat:
Gegenfrage: WAS läuft nicht? Fehlermeldung? Btw: Häng mal das Projekt an. |
Re: DelphiX unerklärlicher Fehler
Liste der Anhänge anzeigen (Anzahl: 1)
Das Bild wird nicht angezeigt
|
Re: DelphiX unerklärlicher Fehler
Hi,
ich hab den Fehler. du hast AutoInitalize auf false und rufst nirgendwo DXDraw1.Initalize auf. Entweder du machst AutoInitalize wieder auf true oder schreibst ins Form-Create noch DXDraw1.Initalize. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:43 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