UDN
Search public documentation:
GFxKeyFiltersJP
English Translation
中国翻译
한국어
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
中国翻译
한국어
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
bCaptureInput、AddCaptureKey、AddFocusIgnoreKey の解説
概要
入力は、フィルタリングすることによって、プレイヤーがボタンを押したり、アナログスティックを動かしたりする時に、適切な反応が得られるようにする必要があります。これによって、UI のユーザビリティが劇的に改善されます。
bCaptureInput
クラスの defaultproperties において、bCaptureInputを true にセットすることによって、すべての入力 (マウス、キーボード、ゲームコントローラー) がゲームには送られずに、Flash クラス / SWF に送られるようになります。bCaptureInput を false にセットすると、すべての入力がゲームに送られるようになります。
defaultproperties { bCaptureInput=true or false }
AddFocusIgnoreKey
bCaptureInput を true にセットすると、個々のキーが SWF ファイルによってキャプチャされることなく、AddFocusIgnoreKey によってゲームに渡されるようになります。
AddFocusIgnoreKey('W');
AddCaptureKey
bCaptureInput を false にセットすると、AddFocusIgnoreKey によってゲームに渡されるようにすることなく、個々のキーが SWF ファイルによってキャプチャされるようにできます。
AddCaptureKey('W');
キャプチャ可能なキーの例示リスト
キーをキャプチャする時および無視する時は、次のリストを使用します。
- 1~0、A~Z、F1~F12
- Up、Down、Left、Right
- Spacebar、Enter、Escape
- BackSpace、LeftControl、RightControl
- LeftShift、RightShift、PageUp
- PageDown、Home、Insert
- Equals、Minus、Tab
- LeftAlt、RightAlt
- one、two、three 以下同様
ActionScript で入力をインターセプトする
UnrealScript または Kismet によってキー (複数も) をキャプチャするようになると、次のコードを使って ActionScript でそれらのキーをリッスンすることができます。
import flash.external.ExternalInterface; var keyboardInput:Object = new Object(); // creates a new object to hold keyboard input. Key.addListener(keyboardInput); // uses the object to listen for keyboard input. /* when a key is pressed, execute this function. */ keyboardInput.onKeyDown = function() { /* store the keyboard input ASCII code inside 'keyPressed'. */ var keyPressed:Number = Key.getCode(); trace("Key Pressed" + keyPressed); /* Call the UnrealScript function 'KeyPressed' and send it the 'keyPressed' value. */ ExternalInterface.call("KeyPressed", keyPressed); }