2012-03-29 20 views
5

MainClass'ı Sprite yerine MovieClip ile genişletirseniz daha fazla şey yapılabilir. MovieClip'in Sprite'i genişletdiğini ve altında tanımlanmış bir Zaman Çizelgesi olduğunu biliyorum. ama hala MovieClip tarafından bana nasıl kullanılabilir olacak?MovieClip vs ActionScript 3.0'da Sprite

package { 
    import flash.display.Sprite; 
    import flash.text.TextField; 
    import flash.text.TextFormat; 
    import flash.display.MovieClip; 
    import flash.text.TextFieldType; 

    public class MainClass extends Sprite{  
     public function MainClass() { 

      var m:Module=new Module("Admin","John"); 

      var tf:TextField=new TextField(); 
      tf.text=m.info; 
      tf.border=true; 
      tf.type=TextFieldType.INPUT; 

      var myFormat:TextFormat = new TextFormat(); 
      myFormat.size = 3; 
      tf.defaultTextFormat=myFormat; 

      addChild(tf); 
      this.width=500; 
      this.height=300; 
      this.x=0; 
      this.y=10; 
     } 
    }  
} 


class Module{ 
     private var m_mName:String; 
     private var m_owner:String; 

     public function Module(mName:String,owner:String):void{ 
      m_mName=mName; 
      m_owner=owner; 
     } 
     public function get info():String{ 
      return owner+' is owner of '+mName; 
     } 
     public function get mName():String{ 
      return m_mName; 
     } 
     public function get owner():String{ 
      return m_owner; 
     }  
    } 

Başka bir soru, Sprite'ı MovieClip ile değiştirirsem Timeline nasıl kullanılır?

+1

MovieClip, Sprite'i genişletir. Bu yüzden MovieClip üzerinde daha fazla aldığınız tek şey çerçeve özellikleri/fonksiyonları. –

cevap

16

an AS3 book alıntı: ActionScript3.0'a

önce, MovieClip sınıfı (ActionScript 3.0s Sprite sınıfı kullanıldığında çok gibi) çok amaçlı bir grafik kabı olarak kullanılmıştır. ActionScript 3.0'dan itibaren, MovieClip yalnızca Flash geliştirme aracında oluşturulan movieclip sembollerinin örneklerini kontrol etmek için kullanılır. ActionScript 3.0, kareler ve aralar gibi zaman çizelgesi öğeleri oluşturmanın bir yolunu sağladığından, ActionScript 3.0'da çalışma zamanında yeni boş movieclips oluşturmaya gerek yoktur. Bunun yerine, program tarafından oluşturulan tüm grafikler uygun çekirdek görüntü sınıfı (Bitmap, Şekil, Sprite, TextField, vb.) Örnekleri olmalıdır.

MovieClip, AS2 ile geriye dönük uyumluluğu koruyan dinamik bir sınıftır. Bu, tavsiye edilmezken MovieClip'e bir özellik eklemenizi gerektiriyorsa, myMC.myCustomProperty = "someValue" derken, Sprite ile bir hata atacağınız anlamına gelir. Bu nedenle, Sprites kullanmanın performans açısından daha etkili olduğunu da söylerler. Bu konu hakkında bir tartışma bulabilirsiniz this Adobe Forum post.