Flash AS3 неопределенное свойство MouseEvent в классе документа - PullRequest
0 голосов
/ 13 марта 2010

Я впервые пытаюсь использовать классы документов в 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 ]

1 голос
/ 13 марта 2010

Если вы собираетесь использовать класс, вам нужно его импортировать.Компилятор сообщает вам, что вы ссылались на класс 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).

0 голосов
/ 13 марта 2010

Вы должны импортировать событие: import flash.events.MouseEvent

Параметру функции также нужно имя: public function snd_toggle(bblabla:MouseEvent) { ...

...