PDA

Просмотр полной версии : проблемы с наложением приаттаченных мувиков


Cyberform
04.12.2005, 03:30
Доброго всем.

Перерыл темы, но ничего похожего на глаза не попалось, к сожалению. /-:

Вобщем, такая проблема.
Есть несколько кнопок, при наведении на которые аттачатся мувики с анимацией. Убираешь курсор с кнопки, и на место возвращается "дежурный" мувик.
Чтобы не мучаться с уровнями при каждом наведении, просто сделал getNextHighestDepth, так как невозможно просчитать, где да сколько раз пользователь наведёт на эти несчастные кнопки.
Но вот проблема. Надо, чтобы каждый следующий мувик при наведении накладывался на предыдущий. А он аттачится, предварительно грохнув тот, что уже приаттачен. И получается, что сначала исчезает приаттаченный мувик, а потому уже появляется новый. Как сделать наложение, чтобы предыдущий не исчезал?

Штрек
04.12.2005, 04:00
Исходник бы надо.....

Cyberform
04.12.2005, 04:09
Вот исходник.
Я только начал делать, так что скрипт лежит только на первой кнопке.

Король
04.12.2005, 04:10
ясно как божий день что у тебя след.мувик аттачится туда же, куда и предыдущий. а причина может быть в чем угодно - от ошибок синтаксиса до неправильной последовательности событий. так что исходник действительно не помешал бы

Король
04.12.2005, 04:20
короче посмотрел я исходник - сделал так: в кадре прописал переменную d=0 а функции кнопки теперь выглядят так:
onRollOver = function(){
d++
attachMovie("1","1", d)
}

всё работает

Cyberform
04.12.2005, 08:22
Спасибо.
Работает.

Только вот, чем больше повторяешь ролик, тем больше он начинает тормозить.
Это из-за чего?
Клипы приаттаченные остаются?
Если да, то как их убирать?
removeMovieClip чего-то мне не помогает.
Илия опять что-то не так записываю? /-:

KUZEN
04.12.2005, 16:19
Ты уж реши , что тебе нужно ? то тебе не надо что бы они удалялись, теперь говоришь как их удалить ...
>> removeMovieClip чего-то мне не помогает.
интересно почему ...

Cyberform
04.12.2005, 17:52
дело в том, что если водить по кнопкам, то он делает ролик с бесконечной глубиной, чем больше раз происходит аттач мувиков, тем глубже становится всё это дело.
Мне вот интересно, как можно управлять этим?

Cyberform
04.12.2005, 17:54
Вот как выглядит подобная реализация этой штуки:
balteco.lv (http://www.balteco.lv)

Штрек
04.12.2005, 18:12
Вот как выглядит подобная реализация этой штуки:
balteco.lv (http://www.balteco.lv)
Думаю там вообще двигается маска...
Я б во всяком случае сделал бы так......

anzo
04.12.2005, 20:54
короче посмотрел я исходник - сделал так: в кадре прописал переменную d=0 а функции кнопки теперь выглядят так:
onRollOver = function(){
d++
attachMovie("1","1", d)
}

всё работает
1. Настоятельно не рекомендую всем использовать цифры в качестве названия MovieClip. Потом, с таким названием, будут проблемы. Например "1.removeMovieClip();" работать не будет.

2. Не рекомендую использовать целые числа вместо "d". Используйте ".getNextHighestDepth();".

Думаю там вообще двигается маска...
Я б во всяком случае сделал бы так......Там есть маска которая двигается, только легче от этого не становится.

Проблема заключалась в том что во первых нельзя было убрать клип (почему я уже объяснил). Но даже после того как клипы убирались, файл тормозил. Почему, я так до конца и не понял (скорее всего что-то связанное с уровнями). Я сделал всё немного проще (клипы сразу находятся на уровне, маска двигается в двух направлениях) и вот (http://zolotovskov.com/temp/bh3.swf) результат (там небольшие неточности с маской, но мне это лень исправлять), а вот (http://zolotovskov.com/temp/bh2.swf) как было.

Мою версию нельзя запускать через HTML, потому что тогда будут проблемы с on(rollOut). Как это починить я не знаю. Если у кого будут идеи - пишите :)

*Поправка: дело не в HTML, дело в том что если мувик тормозит то on(rollOut) не работает как надо. Скорее всего это как-то можно обойти при помощи кода.

В приложении исходник.