flash as 问题

2025-06-26 06:11:58
推荐回答(1个)
回答1:

首先说明一下,这里的prototype是MovieClip的一个属性,不是函数。

prototype属性包含了一个prototype对象(确切地说是一个引用),当创建一个类对象或一个函数对象时,prototype对象就会自动创建并添加到创建的对象中。

prototype对象是属于类的,所有该类的实例都能访问prototype对象,因此可将一些类实例间共享的属性和方法放置在prototype对象中。当访问一个对象的属性或者方法的时,如果类本身没有提供这个属性或方法,那么将在prototype的属性和方法中去寻找。

在你提供的例子中,MovieClip类的prototype对象增加了一个sMove()方法,那么所有MovieClip类的实例都能使用这个方法了。比如:
var myMC:MovieClip = new MovieClip();
myMC.sMove(20, 10, 10); //我不太清楚参数是否正确,只是举一个例子。
myMC是MovieClip类的实例,因此它可以直接调用sMove()方法。