Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как встроить спрайты в MovieClip? (http://www.flasher.ru/forum/showthread.php?t=194790)

Hamid 22.02.2013 14:04

Как встроить спрайты в MovieClip?
 
Добрый всем день, столкунлся с задачей. Есть fla файл в нем есть главный
Код AS3:

timeLine

на котором расположены
Код AS3:

MovieClip-ы

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

Вроде все мувиклипы обращаются к одним и тем же спрайтам. Что может быть не так?

iflamberg 22.02.2013 14:34

Программно заменяешь все спрайты? Ну так что ж удивительного. Ты меняешь спрайты в экземпляре объекта. Сам объект-то от этого не меняется.
Что делать? А ничего не делать. В каждом экземпляре вот так вот менять, ничего другого не придумаешь.

Hamid 22.02.2013 15:07

Да программно меняю в другой флешке, я насколько понял обновляю ссылку, но передобавления в других мувиклипах не происходит. Так?

Добавлено через 1 минуту
И что если разом перебежать все мувиклипы и в них рекурсивно передобавлять спрайты, то по идее картинки обновятся?

PainKiller 22.02.2013 16:34

Я что то не понял, а про update"тить спрайты в библиотеке не судьба?

iflamberg 22.02.2013 16:48

Ну, разные задачи бывают. Может быть надо программно поменять "скин" на скелете персонажа.

in4core 22.02.2013 16:53

Hamid - у вас изначально не вернрый подход. Спрайты в мувиклипах находится не могут, могут только другие мувиклипы - иначе вы добавляете эти спрайты кодом ( создавая их иэкземпляры ) , а если так, то нужен всего лишь класс менеджер и что то типа :
manadger.flushClip( mc1.sprite , new GraphicData() )

Hamid 22.02.2013 17:00

Цитата:

Сообщение от PainKiller (Сообщение 1121856)
Я что то не понял, а про update"тить спрайты в библиотеке не судьба?

Вы наверно не совсем правильно поняли, в Fla файле проблем нет заменить и проапдейтить, а у меня уже готовая Swf-ка. Или есть какой то вариант программного апдейта?

Цитата:

Сообщение от iflamberg (Сообщение 1121862)
Ну, разные задачи бывают. Может быть надо программно поменять "скин" на скелете персонажа.

Попали в точку. Да, задача такая.

Цитата:

Сообщение от in4core (Сообщение 1121866)
Hamid - у вас изначально не вернрый подход. Спрайты в мувиклипах находится не могут, могут только другие мувиклипы - иначе вы добавляете эти спрайты кодом ( создавая их иэкземпляры ) , а если так, то нужен всего лишь класс менеджер и что то типа :
manadger.flushClip( mc1.sprite , new GraphicData() )

У меня в мувиклипах по идее находятся мувиклипы, просто у них по одному кадру. Если вы имеете в виду что каждая часть должна содержать в себе мувик с нужными кадрами и мне нужно переключать на нужный кадр, то это не мой случай, мне нужно именно внешне грузить контейнер, из вне части и одно в другое засовывать.

Если можно, то подробнее о менеджере. Его суть в том, что я при каждой новой анимации должен запускать manadger.flushClip?

Hauts 22.02.2013 17:16

manadger -> manager

in4core 22.02.2013 17:26

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

Hamid 22.02.2013 18:01

Вложений: 1
Сам fla скинуть не могу, но в архиве fla с примерной структурой. Там на главном таймлайне лежат 2 мувика, в них по 3 спрайта, если раскрыть каждый из них то в нем еще один спрайт у которого есть имя(метка). Идея была в том, что бы искать рекурсивно самые внутренние спрайты на которые все ссылаются и внутри них менять контент. Меняю, но бесполезно, при перегрузке анимации откуда то берется дефолтная графика, причем я уже пробовал во всех кадрах сразу заменять контенты, но один фиг, не катит!

in4core 22.02.2013 18:58

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

Hamid 22.02.2013 19:13

Судя по поведению у меня только одно предположение. При каждом переключении кадра на таймлайне, мувиклип пересоздается заного! ибо я во всех кадрах меняю контент, а клипы все равно при переключении со старым контентом. Мой вариант решения проблемы не катит. У меня теперь единственная идея осталась. В моей флашке все спрайты в итоге обращаются к одним и тем же картинкам в библиотеке, когда мы редактируем фла в ручную, то можем банально картинки заменить и все они обновятся. Есть ли вариант программно достучаться до этих картинок в свфках и заменить их?? Может как то через экспорт?
Код AS3:

loader.contentLoaderInfo.applicationDomain.getDefinition

- может быть что то в этом направлении? Кто такое делал?

Добавлено через 1 минуту
Цитата:

Сообщение от in4core (Сообщение 1121897)
и не прокатит. таймлайн для анимации - а не манипуляций с кодом. Да есть такая проблема, связанная с масками и прочим, много разных подпунктиков. Поэтому - все делать надо кодом. Вообще забудьте про таймлайн - это не модно

Проблема в том, что по другому делать не могу, ибо графика и анимации готовые есть, и придется как то с этим домучивать:)

Psycho Tiger 23.02.2013 11:33

Цитата:

Вообще забудьте про таймлайн - это не модно
Т.е. всем аниматорам стоит забыть о том, что они делали до этого и учиться анимировать кодом?


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

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