这是我第一次尝试在AS3中使用文档类而且我正在努力。 我试图将事件监听器添加到2级深度影片剪辑,等待点击但是我收到以下错误。
ERROR: Access of undefined property MouseEvent
package
{
import flash.display.MovieClip;
import flash.media.Sound;
import flash.media.SoundChannel;
public class game extends MovieClip
{
public var snd_state = true;
public function game()
{
ui_setup();
}
public function ui_setup()
{
ui_mc.toggleMute_mc.addEventListener(MouseEvent.CLICK, snd_toggle);
}
public function snd_toggle(MouseEvent)
{
// 0 = No Sound, 1 = Full Sound
trace("Toggle");
}
}
}
答案 0 :(得分:1)
如果您要使用课程,则需要导入课程。编译器告诉您已引用MouseEvent类但未将其包含在代码中。我已经为你清理了一下:
package
{
import flash.display.MovieClip;
import flash.events.MouseEvent; // <-- import MouseEvent Class
import flash.media.Sound;
import flash.media.SoundChannel;
public class game extends MovieClip
{
public var snd_state:Boolean = true; // -- snd_state is type Boolean
public function game()
{
ui_setup();
}
public function ui_setup():void
{
ui_mc.toggleMute_mc.addEventListener(MouseEvent.CLICK, snd_toggle);
}
private function snd_toggle(event:MouseEvent):void
{
// 0 = No Sound, 1 = Full Sound
trace("Toggle");
}
}
}
您会注意到我在方法的末尾添加了:void
。这表明要返回的变量类型。例如,如果您的方法返回一个字符串,那么它将是:String
。还为您的snd_toggle
处理程序添加了一个参数。该参数称为“事件”,它是类MouseEvent
(event:MouseEvent
)的实例。
答案 1 :(得分:0)
您必须导入活动:
import flash.events.MouseEvent
function参数还需要一个名称:public function snd_toggle(bblabla:MouseEvent) { ...