UDN
Search public documentation:
GFxKeyFilters
日本語訳
中国翻译
한국어
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
UE3 Home > User Interfaces & HUDs > Scaleform GFx > bCaptureInput, AddCaptureKey and AddFocusIgnoreKey Guide
bCaptureInput, AddCaptureKey and AddFocusIgnoreKey Guide
Overview
Input needs to be filtered so that when the player does press a button or move an analogue stick the correct response is given. This improves the usability of the user interface dramatically.
bCaptureInput
Setting this to true in the default properties of your class will send all input (mouse, keyboard, and game controller) to the Flash class/SWF, instead of the game. Setting it to false allows all input to go to the game instead.
defaultproperties { bCaptureInput=true or false }
AddFocusIgnoreKey
If you set bCaptureInput to true, you can exclude individual keys from being capture by the SWF file and instead allow them to pass through to the game using AddFocusIgnoreKey.
AddFocusIgnoreKey('W');
AddCaptureKey
If you set bCaptureInput to false, you can include individual keys to be captured by the SWF file, instead of allowing them to pass through to the game.
AddCaptureKey('W');
Example List of Capturable Keys
The following list should be used when capturing or ignoring keys:
- 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, ...
Intercepting Input in ActionScript
Once you are capturing a key(s) via UnrealScript or Kismet, you can listen for those keys in ActionScript with the following code:
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); }