Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Проблема с обращением к элементам в другом кадре (http://www.flasher.ru/forum/showthread.php?t=140365)

Mirror13 27.05.2010 16:18

Проблема с обращением к элементам в другом кадре
 
Здравствуйте!

Проблема такая. У меня есть два кадра. На первом находится кнопка выбора файлов, а на втором - прогресс-бары и другие элементы для отображения статуса загрузки файлов. Код расположен в первом кадре.

По условию Event.SELECT, то есть, "файлы выбраны", осуществляется переход ко второму кадру и обращение к элементам, которые на нем расположены. Но обращение терпит неудачу с сообщением, что эти элементы не определены.

Я не смог найти нигде решения такой проблемы, подскажите, пожалуйста, что делать.

gldrawworld 27.05.2010 16:40

Вложений: 1
что за мода пошла, кадры на as3 городить …*anyway, instance имена заданы ? если например на втором кадре лежит mivieClip с instance name myMovieControls и в нем вам нужно управлять например прогресс баром, у которого инстанс progress тогда легко будет получить доступ
Код AS3:

var progressBar:MovieClip = myMovieControls.progress as MovieClip;

и спокойно управлять его свойствами …*

но как я уже намекнул, это не верный в корне путь …*

PS если не понятно можете посмотреть пример во вложениях …*( CS4 )

Mirror13 27.05.2010 16:47

Я только начал знакомиться с Flash, поэтому могу делать что-то не до конца правильно. Просто я понял два пути реализации такой идеи: добавить кучу компонентов в один кадр и скрывать одни - показывать другие в зависимости от стадии работы программы или разнести компоненты разных стадий по разным кадрам.

И спасибо за пример, но я не могу посмотреть - у меня только CS3 )

gldrawworld 27.05.2010 16:56

оба варианта не верны…
если говорить о IDE flash, что вобще противопоказанно по очень многим причинам, то нужно создавать объекты из библиотеки тогда, когда нужно и удалять их со сцены тогда, когда нужно, самый же православный подход - завести себе FlashDevelop и вынести всю нужную графику в swc контейнеры и так же в проекте создавать нужные объекты из библиотеки swc контейнера … полезность и православность в первую очередь заключается в удобном хранении графики разделенной по нужным категориям ( ведь ограничения на количества swc контейнеров отсутствует и можно например убодно разделить библиотеки например так
controls.swc
video.swc и т/д/ ) ну и FD безусловно удобнее в написании кода, нежели flash IDE …*) в любом случае выбирать вам, но делать как делаете вы сейчас, крайне не рекомендуется …*

Mirror13 27.05.2010 17:08

У меня сейчас цель научиться работать именно с FlashIDE, так что Flash Develop не подойдет.

Я не очень понял, как правильно делать во FlashIDE.

gldrawworld 27.05.2010 17:23

создаем нужный клип в котором располагаем нужные контролы и в его свойствах ставим галочку напротив - export for ActionScript, после чего в identifier задаем экспортируемое имя например mySymbol, далее в коде приложения пишем

Код AS3:

var myName:mySymbol = new mySymbol();
addChild(myName);

так же если нужно обратиться к определенному контролу в этом мувике нужно задать нужному контролу инстанс имя, после чего доступ к нужному контролу можно будет получить так

Код AS3:

var myControlProgress:MovieClip = myName.progress as MovieClip;

в данной схеме в библиотеки лежит movieClip ( в свойствах которого указано экспортируемое имя - mySymbol) в котором лежит movieClip с инстанс именем progress


Часовой пояс GMT +4, время: 23:21.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.