キーボード入力
Prometeでは、Keyboardプラグインを使って簡単にキーボード入力を取得できます。
キーの押下・離上・連打検出や、文字列入力、全キー列挙など幅広い用途に対応しています。
基本の使い方
Keyboardはプラグインとして登録し、シーンのコンストラクタで依存性注入を利用して受け取ります。
// プラグイン登録例(Program.cs)var app = PrometeApp.Create() .Use<Keyboard>() .BuildWithOpenGLDesktop();
return app.Run<MainScene>();// シーンでの利用例public class MainScene(Keyboard keyboard) : Scene{ public override void OnUpdate() { if (keyboard.Up.IsKeyDown) { // 上キーが押されたときの処理 } if (keyboard.Enter.IsKeyDown) { // Enterキーが押されたときの処理 } }}主なAPI
keyboard.AllKeyCodes
すべてのキーコードを列挙します。keyboard.AllPressedKeys
現在押されているキーを列挙します。keyboard.AllDownKeys
このフレームで押されたキーを列挙します。keyboard.AllUpKeys
このフレームで離されたキーを列挙します。keyboard.GetString()
入力された文字列を取得します(バッファはクリアされます)。keyboard.HasChar()
入力バッファに文字があるか判定します。
サンプル:メニュー操作
public override void OnUpdate(){ if (keyboard.Up.IsKeyDown) CurrentIndex--; if (keyboard.Down.IsKeyDown) CurrentIndex++; if (keyboard.Enter.IsKeyDown) SelectMenu();}ノート
- 入力バッファは
GetString()やGetChar()で消費されます。 - モバイル環境では
OpenVirtualKeyboard()で仮想キーボードを開けます。 - キーコードは
KeyCode列挙体で管理されています。