Well the code that your friend is suggesting is pretty straightforward and you could port it over to AS2 if you wanted. Instead of a hashMap, why not just use an associative array? I'm pretty sure that I've seen a hash class ripping around from either Brandan Hall or Samuel Wan based off of an associative array.
All in all, the code could be ported over with minimal effort... but there would be some area's that you would need to be creative with. Cheers, Kevin -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of black59mga Sent: June 6, 2006 4:09 PM To: Flashcoders mailing list Subject: RE: [Flashcoders] How do real developers do key handling? I have 10 apps that will controlled with a TV remote control (no mouse). There are only 12 keys on the remote, so the app that has focus will will have to do very different things with a given key press, depending on context. A java dev. friend suggested an approach using a hashMap, but we don't have hashMap in AS 2.0. And I'm a bit confused by his sample code: public class ChannelInputTest { public static void main(String argv[]) { // Create a new ChannelInput object and add a few keys to its map ChannelInput ci1 = new ChannelInput(); ci1.addKey("1", new SimpleKeyHandler()); ci1.addKey("2", new AnotherSimpleKeyHandler()); // Now handle some keys with this puppy ci1.processKey("1"); ci1.processKey("2"); // Create a SECOND ChannelInput object, and add some different keys/handlers ChannelInput ci2 = new ChannelInput(); ci2.addKey("3", new AnotherSimpleKeyHandler()); ci2.addKey("4", new SimpleKeyHandler()); ci2.processKey("3"); ci2.processKey("4"); // Finally - should get an error if a ChannelInput gets unmapped key ci2.processKey("1"); } } import java.util.HashMap; public class ChannelInput { private HashMap handlerMap = null; ChannelInput() { handlerMap = new HashMap(); } public void addKey(String key, KeyHandler handler) { handlerMap.put(key, handler); } public void processKey(String key) { KeyHandler handler = (KeyHandler) handlerMap.get(key); if (handler == null) { System.out.println("ERROR: null handler for key \"" + key + "\""); } else { handler.handleKey(key); } } public class SimpleKeyHandler implements KeyHandler { public void handleKey(String key) { System.out.println("SimpleKeyHandler Key " + key + " was pressed"); // Action for this key goes here } } interface KeyHandler { public void handleKey(String key); } <><><> Kevin Aebig <[EMAIL PROTECTED]> wrote: Perhaps if you told us what you're trying to accomplish, we could offer suggestions around it, but as far as catching specific keys, I'm pretty sure you're doing it the only way possible. !k -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of black59mga Sent: June 6, 2006 3:01 PM To: flash Coders Subject: [Flashcoders] How do real developers do key handling? How do real actionscript developers do key handling? If you have several (like 10) apps that are loaded into MCs in 'Main.swf'... What's a good way to code the key handling? Right now I'm drowning in multiple key.GetCode() switch statements that all live in my 'Main.as'. How do smart people do this?? Any suggestions, sample code, links to tutes etc., very greatly appreciated. -mga --------------------------------- Sneak preview the all-new Yahoo.com. It's not radically different. Just radically better. _______________________________________________ [email protected] To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com _______________________________________________ [email protected] To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com

