From 390e7b0548a2a64e0ab6ddb81acf321be1a1e500 Mon Sep 17 00:00:00 2001 From: "Andreas Renberg (IQAndreas)" Date: Wed, 21 Dec 2011 17:48:52 +0100 Subject: [PATCH] Added extra functions to Input Added: - getKeyName - Returns the key's name based on the passed in KeyCode - justPressedAny - Was any key just pressed? (duh!) - justReleasedAny - Was any key just released? (duh!) --- org/flixel/system/input/Input.as | 53 ++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) mode change 100644 => 100755 org/flixel/system/input/Input.as diff --git a/org/flixel/system/input/Input.as b/org/flixel/system/input/Input.as old mode 100644 new mode 100755 index 78e45f98..7dae050a --- a/org/flixel/system/input/Input.as +++ b/org/flixel/system/input/Input.as @@ -8,6 +8,12 @@ package org.flixel.system.input */ public class Input { + // Values of "key.current" (for reference) + // 0 - Not pressed + // 2 - Just pressed + // 1 - Pressing + // -1 - Just released + /** * @private */ @@ -146,6 +152,19 @@ package org.flixel.system.input return _lookup[KeyName]; } + /** + * Look up the key's name for a given key code. Useful for "change controls" menus. + * + * @param KeyCode The KeyCode for the key. + * + * @return The name of that key. + */ + public function getKeyName(KeyCode:uint):String + { + var key:Object = _map[KeyCode]; + return (key) ? key.name : "[key #" + KeyCode + "]"; + } + /** * Check to see if any keys are pressed right now. * @@ -163,6 +182,40 @@ package org.flixel.system.input return false; } + /** + * Check to see if any keys were just pressed. + * + * @return Whether any keys were just pressed. + */ + public function justPressedAny():Boolean + { + var i:uint = 0; + while(i < _total) + { + var o:Object = _map[i++]; + if((o != null) && (o.current == 2)) + return true; + } + return false; + } + + /** + * Check to see if any keys were just released. + * + * @return Whether any keys were just released. + */ + public function justReleasedAny():Boolean + { + var i:uint = 0; + while(i < _total) + { + var o:Object = _map[i++]; + if((o != null) && (o.current == -1)) + return true; + } + return false; + } + /** * An internal helper function used to build the key array. *