PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Taste gedrückt halten



Tolek
26.05.2008, 17:58
Hi alle zusammen,
ich habe nun seit einiger Zeit das Problem, dass mir im Kami i-wie keiner lösen will. :o Es geht um folgendes: ich muss immer wieder eine bestimmte Taste drücken, damit i-was geschieht. Das Problem ist, dass es vorteilhafter wäre, diese Taste einfach nur gedrückt zu halten. Und ich weiß nicht, wie das geht.

Danke.

T-Free
26.05.2008, 18:04
Einfach bei der Tastenabfrage den Haken bei "Warten, bis Taste gedrückt wird" oder "Wait until key hit" wegmachen, dann geht's. Zusätzlich würde ich noch einen kurzen wait hinten einbauen, damit das Spiel nicht ruckelt.^

Hier ist noch ein Link, ich habe früher auch danach gefragt:

http://www.multimediaxis.de/showthread.php?t=106650

Tolek
26.05.2008, 18:11
Es gibt da nur einen kleinen Haken, den ich nicht erwähnt habe. ^^' Dank Cherry´s Patch, den er extra für Rythen und mich gemacht hat (nochmal hier ein Dankeschön an ihn), sind die Pfeiltasten deaktiviert, sodass man sie nicht mehr benutzen kann. Ich habe nun den Tastenpatch benutzt, um diese Tasten neu zu definieren. Jetzt kann ich das Häkchen bei "Wait until key hit" vergessen. :P

Caine Luveno
27.05.2008, 12:52
Wenn du Inelukis Key Patch verwendest musst du von ein und derselben Taste zunächst ein KeyDown-Ereigniss abfragen=Taste gedrückt, und als nächstes müsstest du dann ein KeyUP-Ereigniss abfragen, und solange wie nach dem KeyDown-Ereigniss das Key-Up-Ereigniss nicht ausgelöst wurde müsste die Taste gedrückt gehalten werden.

Tolek
27.05.2008, 20:10
Hab das probiert, nur ich krieg das nicht auf die Reihe. Ich hab auch gehört, dass es auch eine Möglichkeit gibt, das Problem mit einem Switch zu lösen. Nur hab ich keinen Plan, wie das gehen soll. ("du stellst wenn die Taste gedrückt wird, nen switch on, wenn sie losgelassen wird, off").

KA, was mit mir letztens los ist. Normalerweise knack ich sowas ohne große Mühe.^^

Caine Luveno
28.05.2008, 13:44
Ein Sehr simples Beispiel. Der Maker Code demonstriert nur die ForkConditions, das ganze KeyPatch drumherum sollte bei dir ja schon vorhanden sein.

Die Keylist für die Taste A:



[execute]
Action=registerKeyDownEvent
key=a
value=-1001
next=aup

[aup]
Action=registerKeyUpEvent
key=a
value=-1002
next=


Der Maker Code:



Fork Condition: Var[0001]TastenID = 1001:
ChangeSwitch: A-Down SET ON
End Case;
Fork Condition: Var[0001]TastenID = 1002:
ChangeSwitch: A-Down SET OFF
End Case;


Sofern nicht mehrere Events davon abhängig sind, kann man sich den Switch auch schenken. Für z.B. das der Held während die Taste gedrückt ist schneller läuft rbaucht es keinen Switch, für ein PP das dann ausgelöst wird schon.

Tolek
28.05.2008, 19:56
Hab es grade ausprobiert und klappt teilweise. Wenn ich auf die Taste drücke, geht der Held los und ich kann ihn nicht mehr stoppen.

Mein Maker Code:



Fork Condition: Var[0001]TastenID = 49:
ChangeSwitch: Oben gedrückt? SET ON
End Case;
Fork Condition: Var[0001]TastenID = 50:
ChangeSwitch: Oben gedrückt? SET OFF
End Case;

Fork Condition: Switch[0001]Oben gedrückt? Set ON
Fork Condition: HeroDirectionUP
Move Hero UP
Else Case
Fork Condition: HeroDirectionLEFT
Move Hero LEFT
Else Case
usw.

End Case;

Fork Condition: Var[0001]TastenID = 51;
Move Hero 90° LEFT
Else Case
usw.
End Case