Доступ к родительским свойствам / методам в Actionscript 3.0 - PullRequest
2 голосов
/ 06 ноября 2008

Я пытаюсь контролировать основную временную шкалу моего приложения флэш-памяти из мувиклипа, который является дочерним элементом основной сцены. По-видимому, в ActionScript 2 вы могли бы сделать это с помощью _root, но использование root (поскольку _root больше не существует) теперь выдает ошибку:

root.play();

"1061: вызов возможно неопределенного воспроизведения метода по ссылке со статическим типом flash.display: DisplayObjectContainer."

Использование класса Stage также не работает:

stage.play();

"1061: вызов метода с неопределенным воспроизведением по ссылке со статическим типом flash.display: Stage."

Есть ли способ сделать это?

Ответы [ 3 ]

7 голосов
/ 06 ноября 2008

Вам нужно привести его к мувиклипу

(root as MovieClip).play()
3 голосов
/ 06 ноября 2008

Согласно http://www.adobe.com/cfusion/webforums/forum/messageview.cfm?forumid=15&catid=665&threadid=1387264&enterthread=y,

попробуйте что-то вроде
MovieClip (корень) ( "меню") .gotoAndPlay;

Удачи,
Рэнди Стегбауэр

0 голосов
/ 22 декабря 2009

Другой способ - разделить код вашего мувиклипа на отдельный класс при настройке класса документа для вашего основного флага.

Предположим, что класс документа вашего основного флага - Main.as, а файл класса вашего мувиклипа - Movie.as, вы можете добавить указатель класса Main в качестве параметра в конструкторе класса Movie

В Main.as

public class Main() { var m = new Movie(this); }

In Movie.as

public class Movie(m:Main) { m.gotoAndPlay("somewhere"); }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...