
10.01.2013, 10:45
|
|
Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
|
Как заменить объект внутри клипа в сложной анимации?
Никогда раньше не доводилось работать с таким типом персонажей, и тут я зашел в тупик просто.
Вобщем ситуация такая: мне прислали fla файл со сложной анимацией персонажа. В анимации 10 - 15 слоев, на каждом слое находится какая-то одна часть персонажа, например голова или рука. Эта часть представляет из себя объект Graphics (дизайнер далек от программирования, поэтому не сделал сразу как надо ) ). На каждом слое множество ключевых кадров, поэтому мне приходится в каждом ключевом кадре переделывать объект в MovieClip и давать ему instance name (что конечно дико напрягает, но писать jsfl скрипт будет дольше, чем вручную переименовать), но проблема даже не в этом.
Допустим задал я торсу персонажа имя экземпляра torso на первом ключевом кадре, потом у себя в коде мне нужно добавить к торсу бронежилет. Первое что пришло в голову - просто удалить ребенка на нулевом индексе и добавить туда бронежилет.
Но не тут то было. Естественно при проигрывании анимации бронежилет останется только на первом кадре. Т.е. добавлять его прийдется в каждом кадре, что больше походит на костыль. Вторая идея была заменить растровые данные. Но getChildAt(0) возвращает Shape, а не Bitmap, хотя во флещке они добавлены как png картинки.
Вопрос, как лучше сделать, чтобы можно было заменять внешний вид этих частей? В самой adobe flash я не очень соображаю, в основном работаю с кодом.
|