Форум 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 спрайта, если раскрыть каждый из них то в нем еще один спрайт у которого есть имя(метка). Идея была в том, что бы искать рекурсивно самые внутренние спрайты на которые все ссылаются и внутри них менять контент. Меняю, но бесполезно, при перегрузке анимации откуда то берется дефолтная графика, причем я уже пробовал во всех кадрах сразу заменять контенты, но один фиг, не катит!


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

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