Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Medvinsky
Зарегистрирован: 22.09.2005 Сообщения: 1
|
Добавлено: Чт Сен 22 2005 12:36 Заголовок сообщения: Help! анимация во flash |
|
|
Помогите, плиз!!! На сцене нужно анимировать (движение с увеличением) 2 объекта.
Проблема в том, что в разное время каждый из них должен располагаться на переднем плане. Поэтому на разных слоях их размещать нельзя. Анимировать одновременно на 1-м слое не получается, а покадровую аним. делать не хочется. |
|
Вернуться к началу |
|
|
beliy
Зарегистрирован: 10.12.2004 Сообщения: 124 Откуда: Москва
|
Добавлено: Чт Сен 22 2005 18:13 Заголовок сообщения: |
|
|
я не спец во флеше, но что если сделать три слоя:
нижний - анимации 1-го объекта
средний - анимация 2-го объекта
верхний - копия нижнего
вначале (если можно) сделать верхний слой невидимым, а в определенный момент скрыть нижний слой и показать верхний..
З.Ы. это теория.. я не знаю как это сделать |
|
Вернуться к началу |
|
|
mpakmopucm
Зарегистрирован: 24.12.2002 Сообщения: 58 Откуда: Москва
|
Добавлено: Чт Окт 06 2005 19:31 Заголовок сообщения: Лучше скриптами. |
|
|
Тока... гиморно это с непривычки, зато возможностей дофига.
ActionScript тебе в руки и попутного поиска в спину. Очень хороша в этом смысле книга Колин Мук "ActionScript для Flash MX. Подробное руководство".
Пошагово описывать не буду как твоя задача решается, так как много действий, и если не работал с Аction Script, то сразу не получится.
А если работал, то делаешь так. Создаешь новые символы (лучше типа movie). Это наподобие класса объектов в ООП. Затем рисуешь в каждом символе свои объекты (по одному объекту, возможно очень сложному, на символ). Затем в нужных слоях создаешь экземпляры символов и присваиваешь им имена. После этого в первом кадре создаешь скрипт, где фиксируешь в переменных значения глубины объекта, типа
Код: | obj1Depth=obj1.getDepth();
obj2Depth=obj2.getDepth();
|
затем выбираешь какую-нибудь незанятую глубину, например, выше верхнего из твоих объектов
Код: | if (obj1Depth>obj2Depth) reserveDepth=obj1Depth+1000;
else reserveDepth=obj2Depth+1000; |
и в нужный момент методом
Код: | needObj.swapDepth(reserveDepth); |
перемещаешь нижний объект (здесь обозначен как needObj. Если нижний объект - это obj1, то вместо needObj подставляешь obj1) на этот верхний слой, а при необходимости - вернуть сей объект на свое (нижнее) место:
Код: | needObj.swapDepth(needDepth); |
где вместо needObj подставляешь нужный объект, а вместо needDepth - переменную с сохраненной ранее глубиной. |
|
Вернуться к началу |
|
|
|