![]() |
Re: solange taste gedrücktt tue! ???
danke..es funktioniert. :lol:
ich hab festgestell, das mein erster Timer eine Macke hatte.. Hab es einfach mal in einen neuen eingebaut > und siehe da es funzt. damit ist das problem gelöst. Also vielen dank für euere Unterstützung der flo |
Re: solange taste gedrücktt tue! ???
könnte an dem "timer.enabled = false" liegen, probier mal "not timer.enabled".
Aber wieso nicht einfach so:
Delphi-Quellcode:
edit: doofer kasten :(
var
ImagePosX, ImagePosY: integer; const verschieben= 5;//je größer um so schneller verschieben procedure TForm1.FormCreate(Sender: TObject); begin ImagePosX:= Image1.Left; ImagePosY:= Image1.Top; Image1.Parent.DoubleBuffered:= true; Timer1.Interval:= 100; Timer1.Enabled:= true; end; procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin // nixtun end; procedure TForm1.Timer1Timer(Sender: TObject); begin if GetAsyncKeyState(VK_LEFT)< 0 then begin dec(ImagePosX, verschieben); Image1.Left:= ImagePosX; end; if GetAsyncKeyState(VK_RIGHT)< 0 then begin inc(ImagePosX, verschieben); Image1.Left:= ImagePosX; end; if GetAsyncKeyState(VK_UP)< 0 then begin dec(ImagePosY, verschieben); Image1.Top:= ImagePosY; end; if GetAsyncKeyState(VK_DOWN)< 0 then begin inc(ImagePosY, verschieben); Image1.Top:= ImagePosY; end; end; procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin // Nix tun end; |
Re: solange taste gedrücktt tue! ???
Ääääääääh. Nimm mir das jetzt nich Übel, NamenLozer, aber warum postest du das?
Ziemlich genau so macht er es jetzt. Außerdem kannst du dir die beiden Variablen in den A... sparen, genauso wie du das Image1.Parent weglassen kannst |
Re: solange taste gedrücktt tue! ???
Auch wenn es inherited auf den Punkt gebracht hat:
Er brauch an sich nicht so viel Code ;) Es reicht nur zu sagen, dass man ein Timer brauch, und im OnTimer das überprüft (GetAsyncKeyState). ggf. die Überprüfung mit Code. Aber dein Beitrag ist ggf. kontraproduktiv dadurch, dass man, wenn man kein Bild bewegen will sondern z.B. eine Zahl, man die ganzen Sachen drum herum wieder entfernen muss... Abgesehen davon wurde (Pseudo)Code schon 2 mal (o.s.ä.) genannt. Es happerte nur am Verständnis... PS: Der erste Satz ist an sich falsch. Weil der Aufruf
Delphi-Quellcode:
nichts macht außer den anderen Booleanwert zurückzuegeben ;)
not Timer.Enabled
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:19 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