изменить var, инициализированный на корневой временной шкале, из класса в as3 - PullRequest
0 голосов
/ 29 сентября 2010

Привет, я новичок в as3, и это меня бесит, так как много изменений по сравнению с as2. у меня проблема, когда я хочу изменить значение переменной из файла класса, вот подробности.

в корневом таймфрейме 2, я инициализировал var, как показано ниже

stop();
var gameStat;
gameStat = "stop";

тогда я прикрепил к сцене клип с фильмом о пингвинах, и я делаю файл класса с именем "penguin.as"

//untuk hero penguin
package {
 import flash.display.MovieClip;
 import flash.events.Event;

 public class penguin extends MovieClip {

  var rootref:Object = root;//mendefinisikan root dengan rootref


  public function penguin() {
   rootref.gameStat = "play";//change var value to play

   addEventListener(Event.ENTER_FRAME,on_enter_frame);//tmbhkn enterFrame function

  }//eof penguin()

  private function on_enter_frame(e:Event) {
   trace(rootref.gameStat);//<- test the variable here
   //trace(this.parent.parent.parent.gameStat);
  }
 }//eof class

}

Я отслеживаю переменную gameStat в функции on_enter_frame, но она все равно дает мне результат "стоп", а не "игра". любая помощь, как изменить значение "gameStat" ??

1 Ответ

0 голосов
/ 29 сентября 2010

Классы должны начинаться с заглавной буквы. Также зачем делать ссылку на root, если к нему можно получить доступ в любом случае. Вы также должны отследить в конструкторе, устанавливаете ли вы значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...