自寫myLoadMovie類彌補loadMovie方法的弊病

來源:互聯網
上載者:User

loadMovie方法的弊病就是不能在語句後面直接對匯入Movie的MC的屬性進行設定,下面提供了一個實用的方法。
類檔案如下:

import mx.events.EventDispatcher;
class myLoadMovie {
 public var addEventListener:Function;
 public var removeEventListener:Function;
 private var dispatchEvent:Function;
 private static var _mixin1 = EventDispatcher.initialize(myLoadMovie.prototype); 
  function myLoadMovie(){
 } 
 public function GetAt(url:String, mc:MovieClip):Void{
  var onwer:Object = this;
  mc.loadMovie(url);
  var myLoad:MovieClip = _root.createEmptyMovieClip("myLoad",10);
  myLoad.onEnterFrame = function(){
   var tb:Number = mc.getBytesTotal();
   var lb:Number = mc.getBytesLoaded();
   var percent:Number = Math.round(lb/tb*100);
   if (percent == 100 and lb>1000 and tb>1000 and mc._width>0 and mc._height>0) {
    onwer.dispatchEvent({type:"onLoaded", target:mc});
    delete this.onEnterFrame;
   }
  }
 }
}

這個檔案應該和你的FLA檔案放在一起。
使用方法:

import myLoadMovie;
var mi:myLoadMovie = new myLoadMovie();
mi.GetAt("mm.jpeg",mc);
var obj:Object = new Object();
obj.onLoaded=function(eventObj:Object):Void{
 var thisMc:MovieClip = eventObj.target;
 thisMc._x=300;
 thisMc._y=100;
 thisMc._alpha = 50;
}
mi.addEventListener("onLoaded", obj);

註:mi.GetAt("mm.jpeg",mc)中的mc是你舞台上的或者動態建立的Movie Clip的名稱。也就是你想LoadMovie的MC。



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。