![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Nov 2008
Сообщений: 528
|
Если он у вас на сцене и вам нужно получить к нему доступ - значит, вы должны дать ему имя (панель properties -- instance name, если не ошибаюсь).
При создании мувиклипа, содержащего ваш элемент, флеш автоматически выполнит конструкцию, аналогичную Вам осталось только обратиться к нему по имени. |
|
|||||
|
Регистрация: May 2009
Сообщений: 173
|
|
|
|||||
|
А у меня вопрос про конструкторы, если определяешь экземпляр класса не вызывая его конструктор например:
это будет рабочий экземпляр со всеми его методами и свойствами. Критичности вызова конструктора тут нет получается? Иидентично ли вызова конструктора через new вызов его через super() ? например mysprt.super() |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Не будет никаких экземпляров. У переменной будет просто задан тип, а значение равно null.
|
|
|||||
|
Регистрация: May 2009
Сообщений: 173
|
Спасибо разобрался с этим , но тут всплыла проблема
На флешке два фрейма первый пустой это прелоадер - когда флешка загрузилась перехожу на другой флейм Код прелоадера написан в родительском классе сразу из родительского класаа я останавливаю флешку на первом фрейме - жду пока все загрузится и перехожу на другой фрейм так вот мувик до которого я пытаюсь достучатся лежит на втором фрейме , и получается когда я перехожу на второй фреим родительский класс не видит функции этого мувика вот код родительского класс package main { import flash.display.Sprite; import flash.text.TextField; import flash.display.MovieClip; import flash.system.*; import flash.events.Event; import flash.events.MouseEvent; import flash.filters.BlurFilter; import flash.geom.Rectangle; import flash.net.*; import flash.utils.*; import main.scrol.Index; public class Main extends MovieClip { public function Main() { stop(); addEventListener(Event.ENTER_FRAME, Update); } public function Update(e : Event):void { var bytesLoaded:Number = stage.loaderInfo.bytesLoaded; var bytesTotal:Number = stage.loaderInfo.bytesTotal; if (bytesLoaded==bytesTotal || bytesTotal==0){ removeEventListener(Event.ENTER_FRAME, Update); gotoAndStop(2); // перехожу на второй фрейм на котором и //стоит мувик var mc:Index = super.getChildByName('myy') as Index; mc._test(); // пытаюсь вызвать функцию в нем не получается } } } } |
|
|||||
|
Регистрация: Nov 2008
Сообщений: 528
|
Так не пойдёт.
Когда вы написали gotoAndStop - это не привело к тому, что сразу же со следующей команды вы уже очутились на втором кадре. На втором кадре вы окажетесь тогда, когда придёт время для появления нового кадра на экране. А наступит оно не раньше, чем флеш закончит выполнять все функции, которые он уже начал выполнять. |
|
|||||
|
Регистрация: May 2009
Сообщений: 173
|
Цитата:
Дай пожалуйста ! |
|
|||||
|
Регистрация: May 2009
Сообщений: 173
|
А еще вопросик если позволите !
Как из родительского класса вызвать функцию в мувике я разобрался , а вот как вызвать функцию которая в родительском классе из мувика и не трогая сам конструктор ? Подскажите пожалуйста ! |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Не надо ничего трогать родительское.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 13:07. |
|
|
« Предыдущая тема | Следующая тема » |
|
|