Ich verwende XNA (C#), um einen 2D Platformer zu entwickeln. Ich habe mich gefragt, wie ich am besten mit einem bestimmten Knopf umgehen kann. Je länger Sie beispielsweise halten, desto größer wird der Laserstrahl.Möglichkeit, die Bearbeitungsdauer eines Tastendrucks zu implementieren
Da ich bereits den Eingabemechanismus verwende, der die 2 letzten Zustände der Tastatur enthält, kann ich jeden Aktualisierungszyklus extra überprüfen, um die Dauer zu erhöhen. Aber dieser Ansatz ist ziemlich begrenzt, da er nur einen bestimmten Knopf (Feuerknopf, d. H.) Handhabt und er sollte es tun, aber ich frage mich, ob es vielleicht eine allgemeinere Lösung für das Problem gibt.
Soweit ich das beim Lesen des X feststellen kann NA KeyboardState-Dokumentation, es gibt keine solche Einschränkung für die KeyboardState-Klasse wie die von Ihnen beschriebene. Ausgehend von der [MSDN-Dokumentation] (http://msdn.microsoft.com/en-us/library/bb203903%28v=xnagamestudio.10%29.aspx) sollten Sie in der Lage sein, sie zu verwenden, um den aktuellen Status von zu erhalten jede Taste, egal wie viele gedrückt werden und egal wie lange sie gedrückt wurden. Vielleicht gibt es ein Problem mit Ihrem Eingabecode? –
Vielen Dank für die Überprüfung, ich habe Ihre Ergebnisse selbst bestätigt. Und ich bin mir auch der Input-Mechanik bewusst, es ist nur, dass ich nach einer Design-/Architekturlösung fischerte. – CodinRonin