.flash filename="style_as3.swf" bbox=420x440 version=9 fps=12 background=#666666
.edittext log width=400 height=350 color=black multiline
.put log 0 0
.action:
package {
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.text.*;
import flash.events.IOErrorEvent;
import flash.events.Event;
import flash.events.MouseEvent;
public dynamic class Main extends MovieClip {
function trace(s) {
this.log.text+=s+"\n";
}
private var loader:URLLoader =new URLLoader();
private var field:TextField =new TextField();
private var ex:String="
This is a headline h1
"
+"This is a line of text.
"
+"
This h2 text will be colored red
"
+"
apply css by click";
private var sheet:StyleSheet = new StyleSheet();
private var cssReady:Boolean = false;
public function Main() {
field.x=field.y = 200;
field.background = field.multiline = true;
field.autoSize = TextFieldAutoSize.LEFT;
field.htmlText = ex;
field.addEventListener(MouseEvent.CLICK, clickHandler);
addChild(field);
var req:URLRequest=new URLRequest("t.css");
loader.load(req);
loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
loader.addEventListener(Event.COMPLETE, loaderCompleteHandler);
}
public function errorHandler(e:IOErrorEvent):void {
field.htmlText="Couldn't load css ";
}
public function clickHandler(e:MouseEvent):void {
if (cssReady) {
field.styleSheet=sheet;
field.htmlText = ex;
var styl:Object=sheet.getStyle("h1");
field.htmlText+="
h1 font-family:"+styl.fontFamily+ "";
field.htmlText+="
h1 color : "+styl.color+"";
} else {
field.htmlText="CSS not loaded";
}
}
public function loaderCompleteHandler(event:Event):void {
var cssFormat:TextFormat= new TextFormat();
sheet.parseCSS(loader.data);
// trace(loader.data);
var style:Object=sheet.getStyle("p");
cssFormat=sheet.transform(style);
cssReady=true;
}
}
}
.end # action
.end # .flash