キーボード (Keyboard)

概要

キーボードからの入力を扱うクラスです。

エンジンのKeyboardプロパティから現在のフレームのキーボードの各キーの押し状態を持った当クラスのインスタンスを取得できます。

GetKeyStateにて指定したキーの押し状態を取得することが可能です。

キーの押し状態

押し状態は前のフレームと現在のフレームでそのキーを押したかによって決まり、以下の4通りとなります。(○・・・押している、✕・・・押していない)

状態 前のフレーム 現在のフレーム
Free
Release
Push
Hold

主なメソッド

名称 説明
GetKeyState 指定したキーの押し状態

主なプロパティ

なし

主なイベント

なし

使用方法

Keyboardクラスのサンプルです。


  #include <ace.h>
  
  // Keyboardのサンプル。キーボードによる入力を取得しています。
  int main()
  {
      // AC-Engineを初期化する。
      ace::Engine::Initialize(ace::ToAString("Keyboard").c_str(), 640, 480, ace::EngineOption());
  
      // AC-Engineのウインドウが閉じられていないか確認する。
      while (ace::Engine::DoEvents())
      {
          // キーボードのZキーの入力状態を取得する。
          switch (ace::Engine::GetKeyboard()->GetKeyState(ace::Keys::Z))
          {
          case ace::KeyState::Free: // 前フレームと本フレームで非押下
              printf("Z key free\n");
              break;
          case ace::KeyState::Hold: // 前フレームと本フレームで押下
              printf("Z key hold\n");
              break;
          case ace::KeyState::Release: // 前フレームで押下、本フレームで非押下
              printf("Z key release\n");
              break;
          case ace::KeyState::Push: // 前フレームで非押下、本フレームで押下
              printf("Z key push\n");
              break;
          }
  
          // AC-Engineを更新する。
          ace::Engine::Update();
      }
  
      //AC-Engineの終了処理をする。
      ace::Engine::Terminate();
  
      return 0;
  }