PDA

Просмотр полной версии : Проблемы с анимацией (_visible=true;)


lemesh
05.02.2009, 14:57
Делаю баннер и столкнулся с проблемой:

В документе у меня есть мувик с простой анимацией и фунцией stop в конце.Также есть кнопка, которая при наведении убирает этот мувик, и соответсвенно наоборот - когда мышку убираешь с кнопки мувик появляется.

Осуществил я эти действия этой функцией (прилеплено к кнопке):

on(rollOver) {
movieclip._visible=false;
}
on(rollOut) {
movieclip._visible=true;
}

А проблема в том, что мувик появляется с последнего кадра (т.е. замирает на последнем), а мне нужно, чтобы мувик проигрывался сначала - с первого кадра.

Уважаемые знатоки, помогите кто чем может...

Azo
05.02.2009, 15:13
1) оформляй код на форуме тегами
2) объясню оч подробно =) конечно будет в конце! тыж задаешь visible, а это не запуск мувика, а всего лишь видимость, а видеть будем то на чем остановилось т.е stop(); . для того чтобы проиграть заново нужно play();

допустим твой мувик назван muvic (instance name)

on(rollOver) {
movieclip._visible=false;
}
on(rollOut) {
movieclip._visible=true;
_root.muvic.play();
}

lemesh
05.02.2009, 16:32
1) Буду знать
2) Спасибо за подробное объяснение, всё заработало, только возникла ещё одна проблема: когда я убираю мышку с кнопки на долю секунды появляется не нужный мне кадр моего мувиклипа и только затем все проигрывается как нужно с начала... Просмотрел всё, баг так и не выявил, ошибок не выдаёт(

Psycho Tiger
05.02.2009, 21:23
Код на клипах не пишут уже 9 лет.
_root тоже использовать не айс.

Этот код вообще работает?
on(rollOver) {
movieclip._visible=false; //кто такой movieclip и откуда он взялся? Это мувиклип в кнопке?
}

когда я убираю мышку с кнопки на долю секунды появляется не нужный мне кадр моего мувиклипа
_visible=false прекращает отрисовку чего либо, то есть получить события onRollOver и ему подобные вы уже не можете, т.к. они работают с графической составляющей (или работают сами по себе, но по _visible=false прекращают свою работу, но суть одна и та же).
То есть когда вы увели мышку - вдруг появился кусок мувиклипа, который получил событие onRollOver, отрисовался, мышку убрали - исчез. Если будете двигать мышку очень медленно - он начнет сверкать - то появиться, то исчезнет.
Используйте вместо _visible
_alpha=0;

lemesh
06.02.2009, 10:38
"Код на клипах не пишут уже 9 лет." - Охотно верю, только моих познаний флеша хватает только на это)... а код работает исправно

"кто такой movieclip и откуда он взялся? Это мувиклип в кнопке?" - в данном случае нет, но скорее всего, в дальнейшем помещу его в кнопку.

А проблему исправили таким образом:
on (rollOver) {
qwerty._visible = false;
// qwerty - мой мувиклип
_root.qwerty.gotoAndStop(1);
}
on (rollOut) {
qwerty._visible = true;
_root.qwerty.play();
}

Может не очень рационально, с точки зрения написания/создания кода, но функции свои выполняет как и задумывалось)