Ume*_*til 5 actionscript actionscript-2 actionscript-3
如果我使用MovieClip而不是Sprite扩展MainClass,还可以做些什么.我知道MovieClip扩展了Sprite并且它下面定义了Timeline.但仍然是如何通过MovieClip使用它?
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;
}
}
Run Code Online (Sandbox Code Playgroud)
另一个小问题,如果我用MovieClip替换Sprite,如何使用时间轴?
evi*_*uin 16
从AS3书中引用:
在ActionScript 3.0之前,MovieClip类被用作通用图形容器(非常类似于使用ActionScript 3.0s Sprite类).从ActionScript 3.0开始,MovieClip仅用于控制在Flash创作工具中创建的动画片段符号的实例.由于ActionScript 3.0不提供创建时间轴元素(如帧和补间)的方法,因此无需在运行时在ActionScript 3.0中创建新的空影片剪辑.相反,所有以编程方式创建的图形都应该是相应核心显示类(Bitmap,Shape,Sprite,TextField等)的实例.
MovieClip是一个动态类,保留与AS2的向后兼容性.这意味着,如果,虽然不推荐,但要求您向MovieClip添加属性,您可以简单地说myMC.myCustomProperty = "someValue",而使用Sprite,这将引发错误.
出于这个原因,他们还说使用Sprites在性能方面更有效.您可以在此Adobe论坛帖子中找到有关此内容的讨论.