topical media & game development

talk show tell print

flex-component-sample.ax

flex-component-sample.ax [swf] flex


  package {
          import flash.display.Sprite;
          import flx.external.FlashInterface;
          import flx.events.FlashInterfaceEvent;
          import flash.text.TextField;
          import flash.display.StageAlign;
          import flash.display.StageScaleMode;
          import flash.text.TextFormat;
          import flash.display.Loader;
          import flash.net.URLRequest;
          import flash.events.MouseEvent;
          import flash.events.Event;
          import flash.display.DisplayObject;
  
          public class @ax-flex-component-sample extends Sprite
          {
                  public var textArea:TextField;
                  private var tf:TextFormat;
                  
                  public function @ax-flex-component-sample()
                  {
                          // Stage
                          stage.scaleMode = StageScaleMode.NO_SCALE;
                          stage.align = StageAlign.TOP_LEFT;
                          
                          // FlashInterface
                          FlashInterface.publish(root, true);
                          FlashInterface.addEventListener("talkToAll", talkToFlexHandler);
                          
                          // Setup
                          loadSkinPanel();
                          loadSkinButtonClear();
                          loadSkinButtonDispatch();
                          loadSkinButtonMethod();
                          loadSkinButtonProperty();
                          createTextArea();
                          loadAS2SWF();
                  }
                  
                  private function createTextArea():void
                  {
                          // TextFormat
                          tf = new TextFormat();
                          tf.font = "Verdana";
                          tf.leftMargin = 4;
                          tf.size = 10;                        
                          
                          textArea = new TextField();
  
                          with(textArea)
                          {
                                  x = 30;
                                  y = 50;
                                  width = 400;
                                  height = 80;
                                  border = true;
                                  background = true;
                                  wordWrap = true;
                                  defaultTextFormat = tf;
                          }
                          addChild(textArea);
                  }
                  
                  private function loadSkinPanel():void
                  {
                          var loader:Loader = new Loader();
                          loader.x = 10;
                          loader.y = 10;
                          var urlRequest:URLRequest = new URLRequest("local/flex/assets/flash/skin_panel.swf");
                          loader.load(urlRequest);
                          addChild(loader);
                  }
                  
                  private function loadSkinButtonClear():void
                  {
                          var loader:Loader = new Loader();
                          loader.x = 350;
                          loader.y = 140;
                          var urlRequest:URLRequest = new URLRequest("local/flex/assets/flash/skin_button_clear.swf");
                          loader.load(urlRequest);
                          addChild(loader);
  
                          
                          var sprite:Sprite = new Sprite();                        
                          sprite.buttonMode = true;
                          sprite.addEventListener("click", clearText);
                          sprite.addChild(loader);                        
                          addChild(sprite);
                          sprite.useHandCursor = true;                                                
                  }
  
                  private function loadSkinButtonDispatch():void
                  {
                          var loader:Loader = new Loader();
                          loader.x = 85;
                          loader.y = 215;
                          var urlRequest:URLRequest = new URLRequest("local/flex/assets/flash/skin_button_dispatch.swf");
                          loader.load(urlRequest);
                          addChild(loader);
  
                          var sprite:Sprite = new Sprite();                        
                          sprite.buttonMode = true;
                          sprite.addEventListener("click", dispatch);
                          sprite.addChild(loader);                        
                          addChild(sprite);
                          sprite.useHandCursor = true;                                                
                  }
                  
                  private function loadSkinButtonMethod():void
                  {
                          var loader:Loader = new Loader();
                          loader.x = 180;
                          loader.y = 215;
                          var urlRequest:URLRequest = new URLRequest("local/flex/assets/flash/skin_button_method.swf");
                          loader.load(urlRequest);
                          addChild(loader);
  
                          var sprite:Sprite = new Sprite();                        
                          sprite.buttonMode = true;
                          sprite.addEventListener("click", execMethod);
                          sprite.addChild(loader);                        
                          addChild(sprite);
                          sprite.useHandCursor = true;                                                
                  }
                  
                  private function loadSkinButtonProperty():void
                  {
                          var loader:Loader = new Loader();
                          loader.x = 275;
                          loader.y = 215;
                          var urlRequest:URLRequest = new URLRequest("local/flex/assets/flash/skin_button_property.swf");
                          loader.load(urlRequest);
                          addChild(loader);
  
                          var sprite:Sprite = new Sprite();                        
                          sprite.buttonMode = true;
                          sprite.addEventListener("click", execProp);
                          sprite.addChild(loader);                        
                          addChild(sprite);
                          sprite.useHandCursor = true;                                                
                  }                                                
                  
                  private function loadAS2SWF():void
                  {
                          var loader:Loader = new Loader();
                          loader.x = 30;
                          loader.y = 245;
                          var urlRequest:URLRequest = new URLRequest("local/flex/assets/flash/flash8.swf?flashId=demo");
                          loader.load(urlRequest);
                          addChild(loader);
                  }
                  
                  private function talkToFlexHandler(evt:FlashInterfaceEvent):void
                  {
                          textArea.text = evt.data;
                  }
                  
                  public function sendMessage(message:String):void
                  {
                          textArea.text = message;
                  }
                  
                  private function clearText(evt:Event):void
                  {
                          textArea.text = "";
                  }
                  
                  private function dispatch(evt:Event):void
                  {
                          FlashInterface.dispatchEvent({type:'talkToAll', data:"Dispatched from Flash9.\n\nFlashInterface.dispatchEvent({type:\'talkToAll\', data:\"Dispatched from Flash9.\"});"});                
                  }        
                  
                  private function execMethod(evt:Event):void
                  {
                          FlashInterface.call("demo.sendMessage", "Method executed from Flash9.\n\nFlashInterface.call(\"flash_1.sendMessage\", \"Method executed from Flash9.\");");
                  }
                  
                  private function execProp(evt:Event):void
                  {
                          FlashInterface.call("demo.txtOutput.text", "Property executed from Flash9.\n\nFlashInterface.call(\"flash_1.txtOutput.text\", \"Property executed from Flash9.\");");
                  }                                        
          }
  }
  


(C) Æliens 27/08/2009

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.