Flash AS3未定义属性文档类中的MouseEvent

时间:2010-03-13 19:56:37

标签: flash actionscript-3 class document mouseevent

这是我第一次尝试在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");
  }
 }
}

2 个答案:

答案 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处理程序添加了一个参数。该参数称为“事件”,它是类MouseEventevent:MouseEvent)的实例。

答案 1 :(得分:0)

您必须导入活动: import flash.events.MouseEvent

function参数还需要一个名称:public function snd_toggle(bblabla:MouseEvent) { ...