Доступ к родительским свойствам / методам в Actionscript 3.0
-
06-07-2019 - |
Вопрос
Я пытаюсь контролировать основную временную шкалу моего приложения флэш-памяти из мувиклипа, который является дочерним элементом основной сцены. Очевидно, что в ActionScript 2 вы могли бы сделать это с помощью _root, но использование root (поскольку _root больше не существует) теперь выдает ошибку:
root.play();
" 1061: вызов воспроизведения неопределенного метода, возможно, по ссылке со статическим типом flash.display: DisplayObjectContainer. "
Использование класса Stage также не работает:
stage.play();
" 1061: вызов воспроизведения неопределенного метода, возможно, по ссылке со статическим типом flash.display: Stage. "
Есть ли способ сделать это?
Решение
Вам нужно привести его в мувиклип
(root as MovieClip).play()
Другие советы
Согласно http: / /www.adobe.com/cfusion/webforums/forum/messageview.cfm?forumid=15&catid=665&threadid=1387264&enterthread=y , р>
попробуйте что-то вроде
& NBSP; & NBSP; & NBSP; & NBSP; MovieClip (корень) .gotoAndPlay (& Quot; меню & Quot;); р>
Удачи,
Рэнди Стегбауэр
Другой способ - разделить код вашего мувиклипа на отдельный класс при настройке класса документа для вашего основного флага.
Предположим, что класс документа вашего основного флага - Main.as, а файл класса вашего мувиклипа - Movie.as, вы можете добавить указатель основного класса в качестве параметра в конструкторе класса Movie
В Main.as
В Movie.as открытый класс Main () {
var m = новый фильм (это);
} Код> р>
public class Movie(m:Main) { m.gotoAndPlay("somewhere"); }