topical media & game development
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.