cock.setCapture (日本語)

"入力捕獲"方式を想定します。

関数

概要

cock.setCapture ( self, map, option, eventlock, updatelock, nomouse, callback )

引数

table self
使用するオブジェクト。
string map
制御を捕獲するための制御マップ。
string option
選択制。制御を捕獲するためのマップの選択先。未指定時は defaultOption へ復旧します。
boolean eventlock
選択制。捕獲方式時にゲームの入力イベントハンドラをロックするかどうかを指定します。未指定時は "false" を使用します。
boolean updatelock
選択制。捕獲方式時にゲームの更新関数をロックするかどうかを指定します。未指定時は "false" を使用します。
boolean nomouse
選択制。マウスの動きを捕獲するかどうか指定します。未指定時は "false" を使用します。
boolean callback
選択制。入力の捕獲を controlcaptured コールバックにて行うかどうか指定します。未指定時は "false" を使用します。

注釈

入力ハンドラのロックは入力を捕獲する間に不要な動作を回避するために必要になる場合があります。これには LÖVE および COOK における入力ハンドラのコールバックの両方を内包しています。更新関数のロックは同一目的で取り扱えますが、ロックしてから、データを処理することは一般的に望ましくありません。更新関数にて利用者の入力を処理するために cock.current.* フィールドを使用する場合は、その後に六区を行うことが奨励されています。 代わりに、ライブラリが"入力捕獲"方式である場合に該当する処理が発生しないことを確認してください。対応する関数の動作中に入力捕獲を妨害しないことが想定されているため、 love.draw およびその他の関数に対して選択肢としてのロックは提供されていません。

ゲームにおいて通常は特別に定義されたマウスの固有関数があるため、どのようなものであろうと捕獲ができないことが保証されている入力の捕獲中にマウスの移動を無視する選択肢があります。これが有効である場合は、ライブラリはマウスを画面中央へ一時的に設定を行い、一旦入力が捕獲されたら後方へリセットします。マウスの位置がそれぞれ変化する前または変化した後にマウスカーソルの非表示および表示はプログラマの責務です。

controlcaptured コールバックの呼び出しは指定されたマップおよび選択肢への入力取り込みを即座に割り当てることとは等価ではありません。 controlcaptured コールバックの未定義の間に呼び出しを要求することは同じであり事実上は等価です。 "longdata" があるコールバックへの平易な呼び出しにおいてコールバックが定義された結果である場合に追加の副作用なしに引数は整列されます。取得されたデータを使用するには cock.bind を手動にて呼び出す必要があります。

注意: 別のオブジェクトにおいて以前の入力取り込み方式を取り消さず入力取り込み方式を横領するとゲームはブルー・スクリーンへ即座に陥ります(スタック・オーバーフロー)。これは内部構造による物です。いくつかのオブジェクトに対して入力の同時捕獲をしたい場合は、いくつかのオブジェクトを介して取得されたデータを拘束して controlcaptured コールバックの定義を行い、入力方式を一度のみ想定します。

関連


そのほかの言語