Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Bild bleibt nicht stehen (https://www.delphipraxis.net/67783-bild-bleibt-nicht-stehen.html)

johnnycat14 19. Apr 2006 21:15


Bild bleibt nicht stehen
 
Habe noch ein kleines Problem: :-D
Ich schaffe es einfach net mein Bild an einer bestimmten stelle
anzuhalten. Egal was ich versuchte es ging net.
Ich habe es so im Timer angestellt

procedure TForm2.Timer1Timer(Sender: TObject);
begin
DoubleBuffered := True;
Image1.Picture.LoadFromFile('E:\spiel\bilder\f1.bm p');//Bild für Figur
image1.Left := Image1.Left +4;
if image1.left=+500 then
image1.Left := Image1.Left +0;
end;

Wie geht das??
Bin auch im Chat!!
Gruß John

mkinzler 19. Apr 2006 21:20

Re: Bild bleibt nicht stehen
 
Also ich würde das Laden des Bildes nicht hier im Timer machen, da das Bild immer neu geladen werden muß.

Delphi-Quellcode:
procedure TForm2.Timer1Timer(Sender: TObject);
begin
    DoubleBuffered := True;
    //Image1.Picture.LoadFromFile('E:\spiel\bilder\f1.bmp');//Bild für Figur
    if image1.left<500 then
        image1.Left := Image1.Left +4;
end;

johnnycat14 19. Apr 2006 21:25

Re: Bild bleibt nicht stehen
 
Oh ja hattest recht mit den Bild laden! Danke für denn Tipp. :thumb:
Wie kann man eigendlich das Image beschleunigen?
Ohne die pixel hochzuschrauben.

[delphi]
john

mkinzler 19. Apr 2006 21:26

Re: Bild bleibt nicht stehen
 
Die Timerzeit verkleinerrn.

johnnycat14 19. Apr 2006 21:31

Re: Bild bleibt nicht stehen
 
Ist schon auf 1.

Mackhack 19. Apr 2006 21:34

Re: Bild bleibt nicht stehen
 
TPaintBox anstatt TImage vlt.?

mkinzler 19. Apr 2006 21:36

Re: Bild bleibt nicht stehen
 
Auf eins, das heißt ja das die Methode 1000mal pro sekunde aufgerufen wird. Da pro Schritt 4 Pixel verschoben wird, dauert die Animation dann 500/4/1000=0.125 Sek. Und das ist dir zu langsam ?

fkerber 19. Apr 2006 21:37

Re: Bild bleibt nicht stehen
 
Hi!

Der Timer steht auf 1 (Millisekunde) und das geht dir zu langsam?
Bist du dir da sicher?

Ciao Frederic

johnnycat14 19. Apr 2006 21:41

Re: Bild bleibt nicht stehen
 
Naja es soll ein JumpRun Spiel werden wo man rennen kann. :dance:

mkinzler 19. Apr 2006 21:44

Re: Bild bleibt nicht stehen
 
Dann rennt deinen Figur in einer Sekunde 2 mal hin und her? ;-)

fkerber 19. Apr 2006 21:45

Re: Bild bleibt nicht stehen
 
Hi!

Kann es sein, dass es dir so langsam vorkommt, da es so schnell ist? :stupid:
Wenn er rechts angekommen ist, fängt er ja wieder links an. Vielleicht geht das ganze so schnell...
(Normalerweise ist das da nämlich verdammt schnell!)


Ciao Frederic

johnnycat14 19. Apr 2006 21:57

Re: Bild bleibt nicht stehen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Nee damit ihr es sieht, hier das program!!

fkerber 19. Apr 2006 22:00

Re: Bild bleibt nicht stehen
 
Hi!

Zitat:

Zitat von johnnycat14
Nee damit ihr es sieht, hier das program!!

Ui, böse:
Absolute Pfadangabe zur Bitmap-Datei und dann gabs nur noch massenweise Divisionen durch Null.


Ciao Frederic

mkinzler 19. Apr 2006 22:01

Re: Bild bleibt nicht stehen
 
Ändere mal den absoluen Bildpfad auf einen relativen Pfad und füge mal das Bild hinzu.

johnnycat14 19. Apr 2006 22:08

Re: Bild bleibt nicht stehen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Sorry, habe noch nicht soviel erfahrung! :cry:
Hier habe ich die ganzen pas, also das komplette Program.!
Bitte noch denn Pfard ändern.
Hoffe es funtzt. :lol:
john

3_of_8 19. Apr 2006 22:12

Re: Bild bleibt nicht stehen
 
Was soll diese Zeile?

Delphi-Quellcode:
if image1.left=+500 then
image1.Left := Image1.Left +0
Also wirklich. Das + in der ersten Zeile ist vollkommen irrelevant. Weglassen.
In der zweiten Zeile ist das +0 ebenfalls völlig irrelevant. Und der Rest eigentlich auch. Dieser ganze Befehl hat überhaupt keinen Effekt.

mkinzler 19. Apr 2006 22:28

Re: Bild bleibt nicht stehen
 
@3_of_8: diese Zeiel wurde doch schon lang korrigert.

@johnnycat14: da Problem liegt in deinen FormPaint-Methoden, diese brauchen zu lange. Nach dem Deaktivieren flutscht es.

Khabarakh 19. Apr 2006 22:41

Re: Bild bleibt nicht stehen
 
Die höchste Auflösung des Timers ist unter NT sowieso nur 16ms, dazu kommt noch seine niedrige Priorität.


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