Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 actionscript 3.0 OPP类型和类别_Actionscript 3 - Fatal编程技术网

Actionscript 3 actionscript 3.0 OPP类型和类别

Actionscript 3 actionscript 3.0 OPP类型和类别,actionscript-3,Actionscript 3,他们之间有什么不同 var myObject:Sprite=新Sprite(); 和 var myObject:Sprite=newmovieclip() 其中一个不对,还有一个是:) 很好,您可以说它是Sprite类型(myObject:)之后的位,然后在“=”:new Sprite()之后调用Sprite构造函数 在另一个例子中,您仍然说它是类型Sprite(myObject:Sprite),然后在您说new MovieClip()时调用MovieClip的构造函数 如果要创建电影剪辑,请执

他们之间有什么不同 var myObject:Sprite=新Sprite(); 和
var myObject:Sprite=newmovieclip()

其中一个不对,还有一个是:)

很好,您可以说它是Sprite类型(myObject:)之后的位,然后在“=”:new Sprite()之后调用Sprite构造函数

在另一个例子中,您仍然说它是类型Sprite(myObject:Sprite),然后在您说new MovieClip()时调用MovieClip的构造函数

如果要创建电影剪辑,请执行以下操作:

var newMC:MovieClip = new MovieClip();

区别在于

var myObject : Sprite = new Sprite();
声明类型为
Sprite
的新变量,并为其分配新的
Sprite
对象,同时

var myObject : Sprite = new MovieClip();
声明类型为
Sprite
的新变量,并为其分配新的
MovieClip
对象

MovieClip
继承自
Sprite
,因此将MovieClip投射到Sprite没有问题。
MovieClip和Sprite之间有一些区别。主要区别在于MovieClip有一个时间轴,而Sprite没有。MovieClip和Sprite是独立的类,尽管它们彼此相关,因为MovieClip扩展了Sprite。因此,MovieClip具有与Sprite相同的功能,并且它还添加了更多功能,主要与时间轴动画有关(play()、stop()、gotoAndPlay()、addFrameScript()等)

由于MovieClip具有与Sprite相同的所有功能,因此可以将MovieClip对象分配给类型为Sprite的变量

var myObject : Sprite = new MovieClip();
然而,Sprite并没有共享MovieClip的所有功能,因此这并不适用于其他方面:

// Will not work
var myObject : MovieClip = new Sprite();
如果您想知道特定类的继承链,请查看文档,例如:。您可以看到它扩展了Sprite,而Sprite又扩展了InteractiveObject,依此类推


在语言不可知论中,这被称为继承,其优点之一是。

两者都是“正确的”,但一个依赖继承的概念,而另一个则不是。谢谢大家的帮助。我正在使用构图模式。除了一个是movieClip之外,所有的组件都是sprite。更新所有组件时,您将如何处理movieClip的例外情况?@quan,我建议您将其作为单独的问题发布,并更深入地描述您想要实现的目标。
// Will not work
var myObject : MovieClip = new Sprite();