Mゲームプレイ

deki-input

入力のディスパッチと衝突判定。ポインター / タッチ / キーのイベントを、それを必要とするコンポーネントに送ります。

依存先
deki-rendering

deki-input は、プラットフォームの入力(マウス、タッチ、キー)と、それに反応したいコンポーネントとの橋渡しをします。シーンを走査し、NeedsInput() が true を返すコンポーネントを見つけて、その HandleInput(...) を呼び出すディスパッチループを担います。また、ButtonComponent などのウィジェットが、ポインターイベントが特定のオブジェクトに当たったかどうかを判定するための衝突判定ユーティリティも提供します。

小型デバイス本体の操作系も扱います。トラックボールは、ThinkPad の TrackPoint のように振る舞うポインターとして使えます。ゆっくり転がすと精密に動き、速く回すと画面の端から端まで移動し(acceleration)、カーソルはカクカクと飛ばずに、滑るように止まります(glideMs)。トラックボールのクリックはマウスのクリックとして扱われるので、タッチ向けに作ったシーンもそのまま使えます。I2C キーボードはデスクトップのキーボードと同じようにキーを送ります。キーボードにバックライトがある場合(hasBacklight)は、ゲームのコードから SetBacklight() で設定できます。

追加されるすべてのコンポーネント、公開されるすべてのプロパティ、そして変更履歴は deki-input リファレンスにあります。