Archiv verlassen und diese Seite im Standarddesign anzeigen : Tastendrucklänge
Holla, ich habe mal wieder eine Frage. :D
Drückt man Enter/Leertaste, hüpft der Held.
Ist es möglich, ohne einen Patch, mit dem 2000er zu erwirken, dass der Held weiter springt wenn man die Taste länger gedrückt hält?
Supermike
11.04.2010, 12:41
Zwei fragen:
1. Arbeitest du mit pixelmovement?
2. Soll dein char während die leertaste gehalten wird springen? (Ich seh eine möglichkeit die Taste gedrückt zuhalten und die distanz zu "zählen" und danach zu springen)
andernfalls... mal sehn...
Schilder doch mal wie und wo du das einsetzen willst.
Arbeitest du mit pixelmovement
Kann sein, ich kann damit allerdings gerade nichts anfangen XD
Ich hatte an einfach Bewegungsereignis-Gedöhns gedacht.
Soll dein char während die leertaste gehalten wird springen?
Nöö. Erst nach dem Loslassen.
Man ist z.bsp. auf einer Wiese. Da ist ein Vieh, welches sich bewegt und man fangen soll.
Man drückt also Enter/Leertaste um in die jeweilige Richtung zu springen, um das Viech zu fangen.
Wenn man Enter drückt, nimmt der Held quasi mehr Kraft und soll weiterhüpfen.
Supermike
11.04.2010, 13:30
Nöö. Erst nach dem Loslassen.
Dann kannst du eigentlich, während du die leertaste gedrückt hälst, die Felder zählen lassen geschweige denn die distanz die er springen soll.
Also praktisch mit einer Variable, die solange zählt, bis du die Taste loslässt.
Du verstehst?
Ich verstehen.
Mein Problem ist eher, dass Umsetzen der Taste-losgelassen-Bedingung ^^
Wieso? Woran hapert es denn beim Loslassen?
> Tastenabfrage (nicht warten)
>> Ist Taste nicht mehr gedrückt: Sprungsequenz einleiten
>>> Ist sie noch gedrückt: Sprungweite weiter berechnen
Solche Skripte haben nur einen winzigen Haken. Sie funktionieren nicht fehlerlos. Je mehr auf der Map los ist, selbst wenn es nicht viel ist, wird irgendwann eine minimale Verzögerung eintreten, die den Tastendruck unterbricht (und sehr nervig ist).
Du müsstest also noch ein Skript einbauen, welches überprüft ob zwischen zwei "Tastenabfragen" eine sehr geringe Zeit vergangen ist. Ist zB eine Zeit von 0,1 vergangen, so sollte das darauffolgende Event (nach der Tastenabfrage) trotzdem noch den Sprung weiterzählen (denn niemand hält eine Taste gedrückt, macht eine 0,1sekündige Pause und macht dann weiter. Es sei denn, es ist ein natürlicher Fehler des Makers).
[Tm]
Supermike
11.04.2010, 14:07
Sollte eigentlich kein problem sein sofern du nicht jetzt nicht mit "wait until key hit" arbeitest.
Du machst eine abfrage ob die taste gedrückt wird. In dieser machst du am besten ein loop mit labels welcher solange zählt bis zur bedingung, dass die Taste losgelassen wird (also den wert 0 kriegt). Dann den Sprung ausführen und ans ende des Codes springen.
Kurz gesagt: das lässt sich mit einem Loop nach der Bedingung mit der gedrückten Taste lösen.
Schaus dir einfach hier ab: http://dhan.de/rpg/script/taste.ace
Ist an sich recht simpel.
Vielen Dank, Problem gelöst :D
Powered by vBulletin® Version 4.2.3 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.