请教一个as3.0的问题,代码如下: 还有请教下localX和mouseX有什么区别,书都是跳着看的,看到后面就忘了
//setupbuttonsbutton1.addEventListener(MouseEvent.CLICK,playLibrarySound);button2.add...
// set up buttons
button1.addEventListener(MouseEvent.CLICK, playLibrarySound);
button2.addEventListener(MouseEvent.CLICK, playExternalSound);
// load external sound so it is ready
var sound2:Sound = new Sound();
var req:URLRequest = new URLRequest("PlayingSounds.mp3");
sound2.load(req);
function playLibrarySound(event:Event) {
var sound1:Sound1 = new Sound1();
var channel:SoundChannel = sound1.play();
}
function playExternalSound(event:Event) {
sound2.play();
}
就是这个var sound2:Sound = new Sound()和var sound1:Sound1 = new Sound1(),我想说的是为啥sound1后面声明的类型既可以写成Sound1 也可以写成Sound呢,而sound2声明的时候不行呢,新手。。请详细说明,谢谢 展开
button1.addEventListener(MouseEvent.CLICK, playLibrarySound);
button2.addEventListener(MouseEvent.CLICK, playExternalSound);
// load external sound so it is ready
var sound2:Sound = new Sound();
var req:URLRequest = new URLRequest("PlayingSounds.mp3");
sound2.load(req);
function playLibrarySound(event:Event) {
var sound1:Sound1 = new Sound1();
var channel:SoundChannel = sound1.play();
}
function playExternalSound(event:Event) {
sound2.play();
}
就是这个var sound2:Sound = new Sound()和var sound1:Sound1 = new Sound1(),我想说的是为啥sound1后面声明的类型既可以写成Sound1 也可以写成Sound呢,而sound2声明的时候不行呢,新手。。请详细说明,谢谢 展开
1个回答
展开全部
首先你要明确,你这个Sound1是自定义类,否则是会报错的。在这里看不出你的Sound1类在哪。要是你的Sound1继承自Sound,当然可以用Sound类型也可以用Sound1类型,而Sound1是Sound的子类,所以sound2只能是Sound类型,不能是Sound1类型,就如同你是你父亲的儿子,你姓你父亲的姓,但不能说你父亲姓你的姓的道理是一样的。 同理在我们内置类中,我们可以这样声明一个变量:
var mc:MovieClip=new MovieClip();也可以这样声明
var mc:Sprite=new MovieClip(),因为MovieClip继承自Sprite,当然也可以这样声明
var mc:DisplayObject=new MovieClip();因为所有的显示对象都是DisplayObject的子类。
但是你这样声明就不行;
var mc:MovieClip=new Sprite();
因为MovieClip不是Sprite的父类。这样会报错的。
var mc:MovieClip=new MovieClip();也可以这样声明
var mc:Sprite=new MovieClip(),因为MovieClip继承自Sprite,当然也可以这样声明
var mc:DisplayObject=new MovieClip();因为所有的显示对象都是DisplayObject的子类。
但是你这样声明就不行;
var mc:MovieClip=new Sprite();
因为MovieClip不是Sprite的父类。这样会报错的。
更多追问追答
追问
我刚才想说的是sound2声明的时候为啥不能写成var Sound2:Sound2,现在懂了,我这是书上的代码,那个库元件中肯定有sound1继承自sound这个是吧。谢谢,最后麻烦解释下localX和mouseX好吗?非常感谢
追答
5分太少了,不值得。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询