![]() |
konstante bewegung eines objekts durch tastendruck
hallo an alle
ich bin neu hier und hätte mal eine frage. ich hab schon ein wenig gegoogelt und hier hab ich auch schon alles abgesucht... ich möchte ein objekt konstant in ein richtung bewegen während ich eine taste gedrückt halte. bei den bisherigen versuchen bleibe ich entweder in einer endlosschleife hängen oder ich bekomme keine konstante bewegung zu stande. kann mir da jemand helfen? wäre echt nett. lg draggen |
Re: konstante bewegung eines objekts durch tastendruck
Hi! Und Willkommen in der DP!
Was sind denn deine bisherigen Versuche? Das Bewegen des Objekts beim OnKeyDown Ereigniss? Man könnte z.B. einen Timer verwenden und im OnTimer ereignis abfragen, ob die gewünschte Taste gedrückt ist. Falls dies der Fall ist, bewegt der Timer das Objekt einen Schritt weiter. Das sollte gleichmäßig genug sein... |
Re: konstante bewegung eines objekts durch tastendruck
du da kann ich dir leider nid weiter helfen habe selbst das gleiche problem wäre cool wenn endlich mal jemand das erklären könnte
|
Re: konstante bewegung eines objekts durch tastendruck
genau die bisherigen versuche waren alle mit onkeydown-ereignis.
das mit dem timer hab ich mir auch schon überlegt nur hab ich keine ahnung wie ich abfragen kann ob eine bestimmte taste gerade gedrückt ist. könntest du mir bitte ein beispiel schicken? danke schon mal im vorraus |
Re: konstante bewegung eines objekts durch tastendruck
Zitat:
Also hier der Beispielcode, funzt wunderbar!
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject); begin if (getkeystate(vk_left) and 128)=128 then button1.Left:=button1.left-1; //verschiebt den Button eins nach links end; |
Re: konstante bewegung eines objekts durch tastendruck
hey danke funktioniert wunder bar danke
Draggen wusste schon wie das gemeint war :-) nur für waas ist die 128 |
Re: konstante bewegung eines objekts durch tastendruck
danke! sieht auch super aus nur kommt bei mir die fehlermeldung:"Vorgang konnte nicht erzeugt werden: Zugriff verweigert".
|
Re: konstante bewegung eines objekts durch tastendruck
un dann hab ich ne frage wenn ich den button springen lassen will zb langsam 20 pixel hoch un dann schnell wieder runter wie geht das
|
Re: konstante bewegung eines objekts durch tastendruck
@Draggen: Hast du auf deinem Formular auch einen Timer und einen Button erstellt? Und hast du das OnTimer Ereignis im Objektinspektor zugewiesen?
@Lee: Die 128 wird logisch (bit für bit) auf den Rückgabewert von GeyKeyState draufaddiert...Das liegt irgendwie an dem Intergerrückgabewert von GeyKeyState, der kann bei gedrückter Taste glaube ich -127 oder -128 sein... Was ist denn bitte am "hüpfen" anders als am nach links laufen? Du ziehst einfach sagen wir mal von Button.Top 20 Pixel ab und addierst sie hinterher wieder drauf... @Lee: Ihr stellt gerade in 3 oder 4 Threads ziemlich einfache anfängerfragen. Versucht doch mal ein bisschen eigeninitiative zu entwickeln! |
Re: konstante bewegung eines objekts durch tastendruck
klar!!! ich hab nen timer nen button die procedure dem timer zugewiesen
also ich hoffe das ich das noch hinkriege ;) aber ich weiß trotzdem nicht warum diese fehlermeldung auftaucht hättest du sonst noch eine idee? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:09 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