AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi [DelphiX]Da sollte sich doch was bewegen ...
Thema durchsuchen
Ansicht
Themen-Optionen

[DelphiX]Da sollte sich doch was bewegen ...

Ein Thema von Grobi · begonnen am 28. Okt 2003 · letzter Beitrag vom 29. Okt 2003
Antwort Antwort
Grobi

Registriert seit: 23. Okt 2003
11 Beiträge
 
#1

[DelphiX]Da sollte sich doch was bewegen ...

  Alt 28. Okt 2003, 18:16
Delphi-Quellcode:
procedure TForm1.DXTimer1Timer(Sender: TObject);
begin
  if not DXDraw1.CanDraw then
    Exit; {dürfte bekannt}
  x:=x+vx; {Bewegung um vx in die X-Richtung}
  y:=y+vy; {Bewegung um vy in die Y-Richtung}
  if x<=0 then
    vx:=vx * - 1; {wenn das Bild am linken Rand ist, soll es sich in die
                  Gegenrichtung bewegen}


  if x>=dxdraw1.width - dximagelist1.Items[0].width then
    vx:=vx * - 1; {wenn das Bild am rechten Rand ist, soll es sich in die
                  Gegenrichtung bewegen}


  if y<=0 then
    vy:=vy * - 1; {wenn das Bild oben ist, soll es sich in die
                  Gegenrichtung bewegen}


  if y>=dxdraw1.height - dximagelist1.Items[0].height then
    vy:=vy * - 1; {wenn das Bild unten ist, soll es sich in die Gegenrichtung bewegen}

  dximagelist1.Items[0].draw(DXDraw1.Surface, x,y, 0); {dürfte bekannt}
  DXDraw1.Flip; {dürfte bekannt}
end;
Das ist der original Code aus einem Tutorial welches ich gerade Online nich finde

Wenn ich allerdings mein Projekt starte erscheint nur das schwarze DirectX Fenster, ohne das bewegende Bild.

Könnte mir vielleicht jemand sagen was daran Falsch ist?

[Anmerkung]
Ich benutze Delphi6 & DelphiX

--
edit: *schäm* ich seh gerade das es hier ja auch ein Multimedia Forum gibt ... vielleicht wäre ein Mod ja mal so nett und könnte diesen Thread dahin verschieben ...
  Mit Zitat antworten Zitat
Grobi

Registriert seit: 23. Okt 2003
11 Beiträge
 
#2

Re: [DelphiX]Da sollte sich doch was bewegen ...

  Alt 28. Okt 2003, 20:56
irgendwie glaube ich das der fehler hier bei der Prozedur liegt:
procedure TForm1.DXTimer1Timer(Sender: TObject);
*nach einer lösung such*
  Mit Zitat antworten Zitat
ElDuckle

Registriert seit: 28. Okt 2003
Ort: München
4 Beiträge
 
Delphi 5 Enterprise
 
#3

Re: [DelphiX]Da sollte sich doch was bewegen ...

  Alt 28. Okt 2003, 21:11
Hi,

das Problem hatte heute schon mal jemand, siehe:Frage zur Spieleprogrammierung

er hatte vergessen, die DXImageList mit DXDraw zu verbinden... ist das vielleicht auch dein Problem..?

"Bei der DXImageList1 muß in der Eigenschaft DXDraw die entsprechende Komponente (also DXDraw1) eingetragen werden... "

Ich hab das gleiche Tut letzte Woche ausprobiert, lief ohne Probleme...
  Mit Zitat antworten Zitat
Grobi

Registriert seit: 23. Okt 2003
11 Beiträge
 
#4

Re: [DelphiX]Da sollte sich doch was bewegen ...

  Alt 29. Okt 2003, 12:53
Daran dachte ich auch, als ich schon zuvor den Foren Thread gelesen hatte. Aber daran lag es wirklich nicht ...

ich poste einfach nochmal den ganzen Code ... vielleicht findet ja jemand den fehler

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DXClass, DXDraws, StdCtrls;

type
  TForm1 = class(TForm)
    DXDraw1: TDXDraw;
    DXImageList1: TDXImageList;
    DXTimer1: TDXTimer;
    procedure DXTimer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  x: integer=0;
  y: integer=0;
  vx: integer=1;
  vy: integer=1;

implementation

{$R *.dfm}

procedure TForm1.DXTimer1Timer(Sender: TObject);
begin
  if not DXDraw1.CanDraw then
    Exit;
  x := x + vx;
  y := y + vy;
  if x <= 0 then
    vx := vx * - 1;

  if x >= dxdraw1.width - dximagelist1.Items[0].width then
    vx := vx * - 1;

  if y <= 0 then
    vy := vy * - 1;

  if y >= dxdraw1.height - dximagelist1.Items[0].height then
    vy := vy * - 1;

  DXImageList1.Items[0].Draw(DXDraw1.Surface, x, y, 0);
  DXDraw1.Flip;
end;


end.
Übrigens, hier das tut: http://www.delphi-treff.de/content/t...dex.php4?kat=3

Liegt es vielleicht auch daran, das ich Delphi6 benutze, die Komponente aber eigentlich für Delphi7 ist? Es kam kein Fehler beim installieren ...
  Mit Zitat antworten Zitat
Grobi

Registriert seit: 23. Okt 2003
11 Beiträge
 
#5

Re: [DelphiX]Da sollte sich doch was bewegen ...

  Alt 29. Okt 2003, 13:11
Ich habe jetzt mal das dritte Tutorial gemacht (auch von der Seite ...)

Aber auch wieder nur schwarzes Bild.
  Mit Zitat antworten Zitat
ElDuckle

Registriert seit: 28. Okt 2003
Ort: München
4 Beiträge
 
Delphi 5 Enterprise
 
#6

Re: [DelphiX]Da sollte sich doch was bewegen ...

  Alt 29. Okt 2003, 14:35
Hi,

hab deinen Code übernommen und er funktioniert so wirklich nicht.
Mir ist dann aufgefallen, daß bei der Funktion TForm1.DXTimer1Timer bei dir der Parameter LagCount (siehe Tutorial) fehlt... hast Du die Funktion per Hand reincodiert

Normalerweise wird der Rumpf der Prozedur von Delphi generiert, wenn man die entsprechende Eigenschaft (OnTimer) der Timer-Komponente anklickt.
Dann stimmen auch die Parameter, wenn Du die Prozedur von Hand reinschreibst, dann fehlt außerdem in der dfm-Datei fürs Form die entsprechende Zuordnung
 OnTimer = DXTimer1Timer und die TimerProzedur wird nie aufgerufen.

Also, den Rumpf der Prozedur von Delphi generieren lassen, aber zuerst die alte Prozedur löschen, sonst gibt's ne Fehlermeldung "Eigenschaft und Methode DXTimer1 sind nicht kompatibel" und deinen Code in den Rumpf reinkopieren...
Damit ging's dann bei mir.

Hope it helps
  Mit Zitat antworten Zitat
Grobi

Registriert seit: 23. Okt 2003
11 Beiträge
 
#7

Re: [DelphiX]Da sollte sich doch was bewegen ...

  Alt 29. Okt 2003, 16:43
Vielen Dank!
Danke sehr, es funktioniert jetzt!

ABER ^^
ist es richtig, das sich der Image zieht?
Siehe: http://www.grobi.gamingplanet.info/g...den-smilie.jpg
http://www.grobi.gamingplanet.info/g...den-smilie.jpg
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#8

Re: [DelphiX]Da sollte sich doch was bewegen ...

  Alt 29. Okt 2003, 17:05
Hi!

Streng genommen zieht sich das Image nicht, sondern es wird immer wieder auf den Hintergrund gezeichnet wird. Das kannst du nur verhindern, indem du ein Backgroundsprite verwendest!

ciao fkerber
Frederic Kerber
  Mit Zitat antworten Zitat
Grobi

Registriert seit: 23. Okt 2003
11 Beiträge
 
#9

Re: [DelphiX]Da sollte sich doch was bewegen ...

  Alt 29. Okt 2003, 17:17
Vielen Dank!

Danke!
Is ja eigentlich klar ^^
naja ... nu weiss ich es halt ...

dann mach ich mal die anderen Tutorial weiter
  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:57 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