IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Задачка с анимацией. Помогите решить, пожалуйста!
membrana_ka
сообщение 4.08.2011 - 20:01
Сообщение #1


Новичок
*

Группа: Пользователь
Сообщений: 8
Регистрация: 4.08.2011
Пользователь №: 10616



Здравствуйте, дорогие флешеры!

Скажу сразу, что я хоть и не совсем чайник во флеш, но мне еще далеко до уверенного пользователя , поэтому если знаете, как решить мою задачку, то пишите, пожалуйста, подоступнее! Заранее спасибо! Так вот в чем, собственно, задачка:

Мне необходимо сделать анимацию, в которой человечек идет сначала из одной стороны экрана в другую, у края разворачивается и идет в другую сторону экрана. Там снова разворачивается. Т. е. все время ходит от одной стороны экрана в другую. Но это еще не все. Нужно, чтобы при клике на человечке он останавливался (в той части экрана, до которой до этого момента дошел) и махал рукой зрителю. Как это осуществить? Так, чтобы как можно проще.

Я вроде как в основном придумала, у меня внутри кнопки мувиклип. При нажатии на кнопку отправляюсь к нужному фрейму, в котором человечек стоит и машет ручкой. Но как мне при этом остановить движение кнопки (motion_tween) из стороны в сторону?
Пожалуйста, помогите! Это очень срочно!

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

Еще раз заранее всем огромное спасибо!!!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
MustLive
сообщение 5.08.2011 - 00:28
Сообщение #2


Ветеран конференции
*****

Группа: Flash Zone Team
Сообщений: 4332
Регистрация: 10.03.2005
Из: Киев
Пользователь №: 5



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

membrana_ka

Естественно, это всё можно реализовать. В целом тебе понадобятся следующие анимации (которые или самостоятельно нарисуешь, или найдёшь исполнителя): анимация ходьбы, поворота в противоположную сторону и остановки с маханием рукою. Замечу, что из первых двух анимаций (ходьбы и поворота) ты сделаешь копии с движением в противоположную сторону. Сами анимации можно нарисовать или покадровой анимацией (причём только в некоторых местах, а основной упор на мовшон твины), или мовшон твином - как будет удобно.

Естественно начни с простого, сделай просто анимацию ходьбы туда-сюда с остановкой.

Далее ты используешь мувиклип. Никаких кнопок, только мувиклип, для которого и будет установлен обработчик нажатия. Всю анимацию размести в мувике (назови объект в панели свойств mc). Сам код ставь в кадр (на таймлайне):

Код
state = 1;
_root.mc.onRelease = function() {
if (state == 1) {
_root.mc.stop();
state = 0;
}
else {
_root.mc.play();
state = 1;
}
}

Это код на AS1/AS2. Он будет останавливать/запускать анимацию в мувике. О том как сделать движение с одновременной анимацией ног можешь прочитать в различных темах на форуме, где мы обсуждали эту тему.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
membrana_ka
сообщение 5.08.2011 - 00:41
Сообщение #3


Новичок
*

Группа: Пользователь
Сообщений: 8
Регистрация: 4.08.2011
Пользователь №: 10616



MustLive, Вы меня, пожалуйста, извините... но я не поняла смысла Вашего сообщения. Я прошу помочь мне с конкретной задачей.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
membrana_ka
сообщение 5.08.2011 - 00:45
Сообщение #4


Новичок
*

Группа: Пользователь
Сообщений: 8
Регистрация: 4.08.2011
Пользователь №: 10616



А что этот код даст?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
membrana_ka
сообщение 5.08.2011 - 00:50
Сообщение #5


Новичок
*

Группа: Пользователь
Сообщений: 8
Регистрация: 4.08.2011
Пользователь №: 10616



Т. е. получится сделать так, что анимация внутри мувиклипа будет идти, а motion tween остановится? Мне вот необходимо именно этого добиться.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
MustLive
сообщение 5.08.2011 - 00:50
Сообщение #6


Ветеран конференции
*****

Группа: Flash Zone Team
Сообщений: 4332
Регистрация: 10.03.2005
Из: Киев
Пользователь №: 5



Цитата
А что этот код даст?

Это даст то, что я описал. Ты начала читать мой пост ещё до того, как я его дописал (т.к. меня в это время отвлекли родственники и я запостил часть текста, а потом дописал оставшуюся часть). Так что весь мой пост прочитай и принимайся за работу.

Цитата
Т. е. получится сделать так, что анимация внутри мувиклипа будет идти, а motion tween остановится? Мне вот необходимо именно этого добиться.

Ты можешь остановить таким образом любую анимацию. Если будет вложенная анимация (а движение ног будет вложенной по отношению к движению по экрану), то её точно также, когда её сделаешь, будешь останавливать по нажатию. Т.е. помимо _root.mc.stop(); также будет и _root.mc.nogi.stop(); и т.д.

При этом данный вариант - это только для начала. Потом вместо простой остановки ты сделаешь ещё и вкл./выкл. анимации махания рукой.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
membrana_ka
сообщение 5.08.2011 - 00:52
Сообщение #7


Новичок
*

Группа: Пользователь
Сообщений: 8
Регистрация: 4.08.2011
Пользователь №: 10616



Спасибо большое! Попробую разобраться.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
membrana_ka
сообщение 5.08.2011 - 01:00
Сообщение #8


Новичок
*

Группа: Пользователь
Сообщений: 8
Регистрация: 4.08.2011
Пользователь №: 10616



Цитата
При этом данный вариант - это только для начала. Потом вместо простой остановки ты сделаешь ещё и вкл./выкл. анимации махания рукой.


А как этого вкл./выкл. добиться?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
membrana_ka
сообщение 5.08.2011 - 01:06
Сообщение #9


Новичок
*

Группа: Пользователь
Сообщений: 8
Регистрация: 4.08.2011
Пользователь №: 10616



А как правильно прописывать, если мне нужно и mc, и mc.nogi остановить/включить одновременно?

Сообщение отредактировал membrana_ka - 5.08.2011 - 01:10
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
HaWK
сообщение 5.08.2011 - 11:22
Сообщение #10


Глаз - алмаз
*****

Группа: Модераторы
Сообщений: 1052
Регистрация: 12.03.2008
Пользователь №: 4145



Вот так можно:

Код
var state:Boolean = true;
_root.onEnterFrame = function() {
   if(state) {
       mc._x ++;|
   }
}

_root.mc.onRelease = function() {
   state = false;
   mc.nogi.stop();
   mc.stop();
}
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
membrana_ka
сообщение 5.08.2011 - 14:53
Сообщение #11


Новичок
*

Группа: Пользователь
Сообщений: 8
Регистрация: 4.08.2011
Пользователь №: 10616



Спасибо вам, ребят! Я немножко по-другому прописала, но у меня все работает теперь. Но тоже проблему через регулировку видимости решила. А как можно сделать так, чтобы при задействовании мувика с человечком, машущем рукой, при следующем клике задействовался мувик с еще какой-нибудь анимацией? Как бы по очереди?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
MustLive
сообщение 9.08.2011 - 23:54
Сообщение #12


Ветеран конференции
*****

Группа: Flash Zone Team
Сообщений: 4332
Регистрация: 10.03.2005
Из: Киев
Пользователь №: 5



membrana_ka

Всегда пожалуйста.

Цитата
А как можно сделать так, чтобы при задействовании мувика с человечком, машущем рукой, при следующем клике задействовался мувик с еще какой-нибудь анимацией? Как бы по очереди?

Нужно написать соответствующий AS код.

Если тебе нужно, чтобы не сразу после первого мувика с анимацией начинался второй, а именно после клика (два мувика по очереди), то тогда напиши следующий код (в кадре). С использованием переменной состояния state, как в предыдущем примере кода. Аналогично можешь сделать для большего количества мувиков.

Код
state = 1;
_root.mc.onRelease = function() {
    if (state == 1) {
        _root.mc.mc1.play();
        state = 0;
    }
    else {
        _root.mc.mc2.play();
        state = 1;
    }
}

Где у тебя на сцене находится мувик mc, являющийся контейнером - в нём находятся мувики с анимацией mc1 и mc2, в первом кадре (пустом) которых стоит stop(); (чтобы они изначально не проигрывались) и при клике поочерёдно будут проигрываться эти анимации (при необходимости можно также останавливать другую анимацию указав stop() для соответствующих мувиков).
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 17.10.2011 - 21:31