- var dataStr="jax";
- var loadMc:MovieClip = createEmptyMovieClip("container", this.getNextHighestDepth());
- loadMc._x = loadMc._y = 0;
- loadMc.visible = false;
- var mcLoader:MovieClipLoader = new MovieClipLoader();
- mcLoader.addListener(this);
- mcLoader.loadClip("vodBlock.swf",loadMc);
- function onLoadInit(loadMc:MovieClip) {
- loadMc._visible = false;
- loadMc.text=this.dataStr;
- }
使用 JSON 的撰寫方式:如果只是單純的建立一個物件,下面這個寫法應該是最簡潔的,但這並不是一個很好 ActionScript 風格。
- var myObject = {
- dataStr:"jax",
- loadMc:null,
- init:function(){
- this.loadMc= createEmptyMovieClip("container", this.getNextHighestDepth());
- this.loadMc._x = this.loadMc._y = 0;
- this.loadMc.visible = false;
- var mcLoader:MovieClipLoader = new MovieClipLoader();
- mcLoader.addListener(this);
- mcLoader.loadClip("vodBlock.swf",this.loadMc);
- },
- onLoadInit:function(loadMc:MovieClip) {
- loadMc._visible = false;
- loadMc.text=this.dataStr;
- }
- }
- myObject.init();
利用 Class 撰寫方式:這是 ActionScript 標準風格的撰寫方式,也比較正規一點。
- class MyClass{
- var dataStr:String;
- var loadMc:MovieClip;
- function MyClass(){
- this.dataStr="jax"
- this.loadMc= createEmptyMovieClip("container", this.getNextHighestDepth());
- this.loadMc._x = container._y = 0;
- this.loadMc.visible = false;
- var mcLoader:MovieClipLoader = new MovieClipLoader();
- mcLoader.addListener(this);
- mcLoader.loadClip("vodBlock.swf",this.loadMc);
- }
- function onLoadInit(loadMc:MovieClip) {
- loadMc._visible = false;
- loadMc.text=this.dataStr;
- }
- }
- new MyClass();
延伸原生 Class 的撰寫方式:如果規劃的好這會是一個很省事的撰寫方式。
- class MyMovieClip extends MovieClip{
- var dataStr:String;
- function MyMovieClip(){
- this.dataStr="jax"
- this._x = this._y = 0;
- this.visible = false;
- }
- function loadMovieClip(src:String) :MovieClip {
- var mcLoader:MovieClipLoader = new MovieClipLoader();
- mcLoader.addListener(this);
- mcLoader.loadClip(src,this);
- return this;
- }
- function onLoadInit(mc:MovieClip) {
- this = MyMovieClip(loadMc);
- this._visible = false;
- this.text=this.dataStr;
- }
- }
- var loadMc:MyMovieClip = MyMovieClip( createEmptyMovieClip("container", this.getNextHighestDepth()) );
- loadMc.loadMovieClip("vodBlock.swf");
物件的撰寫有幾個要點:
- 搞清楚 this 到底是誰?這大概也是入門時最容易被弄到翻過來的問題之一
- 物件的規劃,別寫了半天的『物件導向』跟寫『結構語言』沒什麼分別。
0 回應:
張貼留言