我是编程新手。我需要向Sound对象添加新的属性,但我无法使其工作。这就是我要做的:
S31 = new Sound();
S31.load(new URLRequest("mp3/S31.mp3"));
Sound.prototype.correctas = 0;
trace(S31.correctas);我收到这个错误消息:
"1119:通过静态类型flash.media:Sound的引用访问可能未定义的属性更正“。
该怎么办呢。
耽误您时间,实在对不起。
发布于 2012-10-20 09:05:40
prototype类实际上没有在as3中使用(如果我在这里错了,请纠正我,我知道它包含在其中,但我不确定您为什么要使用它。)
您可以创建允许您在运行时向其添加属性的dynamic类,但在本例中,我将坚持使用OOP。
您想要做的是创建一个类,该类扩展Sound并包含您想要包含的任何扩展功能。这个新类将inherit基类的所有功能。
试用creating a new AS3 class并让它扩展声音
package src {
import flash.media.Sound;
import flash.media.SoundLoaderContext;
import flash.net.URLRequest;
public class MySound extends Sound{
public var correctas:Number; //assuming you are using a Number here
//sound takes two params in its constructor
public function MySound(stream:URLRequest=null, context:SoundLoaderContext=null){
//super passes these params to the super class
super(stream, context);
}
}现在要使用它,您需要创建一个新的MySound对象,而不是声音
var s31:MySound = new MySound();
s31.load(new URLRequest("mp3/S31.mp3"));
s31.correctas = 0;
trace(s31.correctas) //will be 0https://stackoverflow.com/questions/12983782
复制相似问题