PDA

Просмотр полной версии : Реверс - ошибка в коде


NixPN
29.05.2006, 18:38
Помогите найти... Есть MovieClip, который называется musmen, в нем анимация на 20 кадров - он "едет" вправо. По наведению на него, он должен ехать вправо и остановиться в 20м кадре, как только rollOut он едет назад. Короче программный реверс. Вот код: onClipEvent (load)
{
n = 1;

function goForward()
{
_root.musmen.gotoAndStop (n);
n++;
}

function goBack()
{
_root.musmen.gotoAndStop (n);
n--;
}
}
on (rollOver) {
setInterval (goForward, 10);
}
on (rollOut) {
setInterval (goBack, 10);
}

Да, в самом musmen - stop в первом и посл. кадре. Понадобиться исходник - брошу.
Заранее спасибо!:drinks:

NixPN
29.05.2006, 18:50
Вот исходник (обработанный, конечно =) ).
www.nixes.net.ru/misstake.fla
Если не работает, то
www.nixes.narod.ru/misstake.fla

Nirth
29.05.2006, 19:13
я говорил что я не умею пользоваться onClipEvent? вобщем от меня помощи не ждать =)

NixPN
29.05.2006, 19:18
Ты серьезно или, как всегда, издеваешься надо мной? =))
Да, забыл сказать что не так)))
Он раскрывается, и так и остается в раскрытом виде... А если убрать мышь с него до того, как он раскроется до конца, то он просто останавливается...

Nirth
29.05.2006, 19:47
я совершенно серьезно, я начинал освоение флэша с 7 версии и ActionScript 2.0 до этого в AS1 практически не кодил
так что с форматом ActionScript образца 2000ого года никогда не общался

NixPN
29.05.2006, 20:51
Хм... и как этот код может выглядеть на без AS1 (хотя так он, мне кажется, проще и меньше жрет от памяти... хотя хто его знает)

iNils
29.05.2006, 21:07
Ох, уже эти любители сетИнтервалов!
Вставляешь в первый кадр твоего клипа.
if (!this.initFlag) {
this.initFlag = true;
//// тут может быть любое значение не превышающие количество кадров, нужно в том случаи когда длина анимации захватывает не весь таймлайн мувиклипа
this.endAnimation = this._totalframes;
this.stop ();
this.goBack = function () {
if (this._currentframe - 1 == 1) {
delete this.onEnterFrame;
}
this.gotoAndStop (this._currentframe - 1);
};
this.goForward = function () {
if (this._currentframe + 1 == this.endAnimation) {
delete this.onEnterFrame;
}
this.gotoAndStop (this._currentframe + 1);
};
this.onRollOver = function () {
this.onEnterFrame = this.goForward;
};
this.onRollOut = this.onReleaseOutside = function () {
this.onEnterFrame = this.goBack;
};
}

aksios
29.05.2006, 21:26
Хм... и как этот код может выглядеть на без AS1 (хотя так он, мне кажется, проще и меньше жрет от памяти... хотя хто его знает)
Да уж, у тебя n будет увеличиваться или уменьшаться в зависимости от того как долга мышь будет над мувом - 24 это всего лишь событие на 240 мсек анимации. Если у тебя еще и флеш выдает ошибку в коде - проверь, твой код должен быть написан на самом мувике.

NixPN
29.05.2006, 22:04
Написан на мувике, ошибок нет. И я ограничили там вроде - если 20 кадр - стоп и 1й - стоп

NixPN
29.05.2006, 22:07
Пасиб! Работает... теперь надо в коде разобраться)

aksios
29.05.2006, 22:14
Написан на мувике, ошибок нет. И я ограничили там вроде - если 20 кадр - стоп и 1й - стоп
а stop к setInterval не относится - потому setInterval и юзают.

NixPN
29.05.2006, 22:32
Так, при использовании кода iNilsа возникли некоторые сложности... не работают кнопки, которые находятся на втором и третьем слоях мувика... того, который двигается

iNils
29.05.2006, 22:36
Кнопки в кнопке?

NixPN
29.05.2006, 23:59
Нет, это мувик - в нем 3 слоя, все motion tween... 1-2 кнопки, 3й - фон. Это короче меню для выбора одной из 2х мелодий на сайте. Выезжаетт сбоку, сначала там кусочек торчит...

iNils
30.05.2006, 00:18
Не очень понял, вернее не фига не понял :) Исходник спасет отц... не важно кого спасет, главное спасет :)

NixPN
30.05.2006, 00:28
Вторая ссылка - та же

iNils
30.05.2006, 00:50
Посмотрел. И не будет так работать. События внутренних кнопок, перехватывает кнопка-родитель.

NixPN
30.05.2006, 10:51
Ну и как это исправить (я это и сам понял =) ). "помогхииите люююдии дообрыя!" =)

NixPN
30.05.2006, 14:19
Люююдиии! Аууу!

NixPN
30.05.2006, 18:24
Эй, помогите, я знаю, что это возможно)

Nirth
30.05.2006, 18:26
Вам ответят когда сочтут нужным, еще одна попытка поднять топик и мне придется его закрыть
PS поиск рулит.

NixPN
30.05.2006, 22:05
Хорошо... Попробйю найти, но этого там нет...

NixPN
03.06.2006, 00:25
Был же где-то исходник, никто не помнит где? Я его не нашел...

NixPN
12.06.2006, 23:10
Да че вы все!? Невозможно что-ли? Я уже обыскался, блин...

Nirth
13.06.2006, 00:42
Это форум, а не служба тех подержки.
Вам помогут тогда когда вам захотят помогать, и поднимать топик искувственным методом запрещенно на этом форуме.
Тема закрыта.
Следующее подобное поведение будет каратся