Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Bild fährt über Formrand.. (https://www.delphipraxis.net/33087-bild-faehrt-ueber-formrand.html)

MAD_87 1. Nov 2004 15:30


Bild fährt über Formrand..
 
Hi erstmal..

hab ein Problem mit meinem Delphi-Projekt. Ich hab ein Auto das an einer Ampel bei Rot stoppen soll und bei Grün einfach weiterfahren soll. So klappt das ganze schon, aber mein Auto fährt einfach über den Bildrand hinaus. Wie kann ich das jetzt verhindern, sodass das Auto wenns oben ankommt direkt nach unten ins Bild kommt und weiterfährt?
THX schonmal..

Wuaegner 1. Nov 2004 15:47

Re: Bild fährt über Formrand..
 
Hi Mad_87,
Wie zeichnest du denn dein Auto?
Ich denke ClientWidth und ClientHeight dürftn dir helfn dass Problem in den Griff zu bekommen. Du überprüfst einfach die x und y Werte deines Autos ob sie beim Rand sind wenn ja dann setzt du sie wieder auf 0 z.B.

freak4fun 1. Nov 2004 15:47

Re: Bild fährt über Formrand..
 
Wenn dein Auto oben Ankommt ist die Höhe 0 setze se dann wieder auf Höhe von form. Oder lass es umkehren, (auf der Gegenspur zurückfahren) :mrgreen:

mfg
freak

MAD_87 1. Nov 2004 18:50

Re: Bild fährt über Formrand..
 
Zitat:

Zitat von freak4fun
Wenn dein Auto oben Ankommt ist die Höhe 0 setze se dann wieder auf Höhe von form. Oder lass es umkehren, (auf der Gegenspur zurückfahren) :mrgreen:

mfg
freak

Also mit Hilfe der If-Funktion?
Hätt ich eigentlich mal denken können. Trotzdem danke..

MAD_87 2. Nov 2004 18:30

Re: Bild fährt über Formrand..
 
Habs jetzt mal ausprobiert mit der If Funktion aber irgendwie klappts net.. Hier mein Code:
Delphi-Quellcode:
If Image1.Top=0
then Image1.Top:=200;
end;
Müsste doch eigtnlich richtig sein, oder? Könnte ich auch das = bei der If-Bedingung durch ein > oder < ersetzen? Weil da zeigt er mir auch nix an..

DeerHunter 2. Nov 2004 20:04

Re: Bild fährt über Formrand..
 
Wie sieht denn dein Code für die Bewegung aus? Wenn du es in ungeraden Schritten >1 bewegen lässt oder es auf einem ungeraden Pixel startet, könnte es ja passieren, dass Top nicht GENAU 0 wird, deswegen solltest du (Image1.Top <= 0) benutzen.

und.. wo führst du obigen Code aus? das "end;" gehört ja sicher zu was anderem oder?

-NIP- 2. Nov 2004 21:14

Re: Bild fährt über Formrand..
 
wenn du das machst darfst du nur 1,2,5,10er...Schritte machen.

-NIP-

MAD_87 3. Nov 2004 17:43

Re: Bild fährt über Formrand..
 
Zitat:

Zitat von DeerHunter
Wie sieht denn dein Code für die Bewegung aus? Wenn du es in ungeraden Schritten >1 bewegen lässt oder es auf einem ungeraden Pixel startet, könnte es ja passieren, dass Top nicht GENAU 0 wird, deswegen solltest du (Image1.Top <= 0) benutzen.

und.. wo führst du obigen Code aus? das "end;" gehört ja sicher zu was anderem oder?

Habs in 5-er Schritten. Ich habs aber auch versucht mit if Image1.Top<0, läuft aber dann auch net.

ReDoX 3. Nov 2004 18:57

Re: Bild fährt über Formrand..
 
Wann und wo überprüfst du das denn?

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Image1.Top:=Image1.Top-1;
If Image1.Top=0
then Image1.Top:=200;
end;
Geht bei mir!
Mfg MrScholz


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