Kuina-chan

くいなちゃん2018年12月11日


プログラミング言語Kuin」の逆引き辞典12、マウスやキーボードやゲームパッドの入力を取得する方法についてです。

ゲームでの入力を取得する

目次

1ゲームでの入力を取得する

1.1ゲームでの入力を取得する



ゲームなどで、ゲームパッドやキーボードからの入力を取得するには「input@pad(ゲームパッドの番号,ゲームパッドのボタン)」とします。 この関数を使うと、ゲームパッドにキーボードが割り当てられているとみなし、ゲームパッドとキーボードの入力を同じように扱うことができます(図1-1)。
  1. var wndMain: wnd@Wnd
  2. var drawMain: wnd@Draw
  3.  
  4. func main()
  5.   do @wndMain :: wnd@makeWnd(null, %aspect, 1600, 900, "Title")
  6.   do @drawMain :: wnd@makeDraw(@wndMain, 0, 0, 1600, 900, %scale, %scale, false)
  7.  
  8.   while(wnd@act())
  9.     if(input@pad(0, %a) > 0)
  10.       do draw@rect(0.0, 0.0, 1600.0, 900.0, 0xFF9999FF)
  11.     end if
  12.     do draw@render(60)
  13.   end while
  14. end func
図1-1: ゲームでの入力の取得
デフォルトではゲームパッドの「%a」ボタンには、キーボードの「Zキー」「Enterキー」「スペースキー」が割り当てられていて、これらのキーかゲームパッドのボタンを押すと、10行目により画面が青く描画されます。
input@pad関数の第1引数には、0から順に、何番目のゲームパッドの状態を取得するかを指定します。
input@pad関数の戻り値は、押されていなければ0が返り、押された瞬間には1が返り、押され続けていれば2以上の値が返ります。 この値の状態は「wnd@act()」内で更新され、ボタンが押され続けていると1ずつ増加します。
(この記事は執筆中です!)
1544538562jaf