![]() |
Проблема с управлением клипа.
Помогите пожалуйста разобраться.
Создал мувиклип для интернет странички. Мне надо чтобы: При наведении на поле клипа, он начал проигрываться. При клике на нём, открывалась другая страница. При уводе курсора, клип должен остановится и перейти на первый кадр, либо остановится и запустится продолжением,если курсор вернётся на него. Я в кнопке (кнопка невидимая, на поле клипа) прописал такой код: on (rollOver) { play(); } on (RollOut) { stop(); } on (release) { getURL("http://algol.local/d/index.php"); } На первом кадре прописал: stop(); Запуск клипа работает, переход по ссылке тоже работает, останов при уводе тоже срабатывает. Но когда клип доходит до определёного кадра останавливается, и стоит уже мёртво. Если убераю строку: on (RollOut) { stop(); } то всё нормально, клип доходит до конца. Пробовал так: on(RollOut) { tellTarget("myframe") { gotoAndStop(1); } } тоже ничего не получается. Подскажите, в чём загвоздка? Или может надо другим путём идти, что бы клип остановился при уводе курсора? |
Вложений: 1
Попробуй обрабатывать события кнопки не в самой кнопке, а в кадре...
тут исходник |
Нет, не получается. Пробовал переделать свой клип, чтобы по структуре был похож на твой исходник. Не работает.
Пробовал обрабатывать события в кадре, а не в кнопке. Кучу всего перепробовал. Работает только, если в первом кадре клипа: Stop(); а в первом кадре кнопки: on (rollOver) { play(); } on (RollOut) { stop(); } on (release) { getURL("http://algol.local/d/index.php"); } Но опять же повторюсь, на 109 кадре клип останавливается. И запустить дальше его можно только через меню. Дальше всё идёт нормально, всё работает до конца клипа. Ну что за хрень, уже мозги вывихнул. Почему 109 кадр останавливает? Там даже не ключевой кадр. Попробую подробней описать обстоятельства. В клип внедрил видео, формат MPEG. Начинается оно с 151 кадра, до этого идут по типу заставок. Всего в клипе 1500 кадров. Монтировал клип в Macromedia Flash MX 2004. Выложил бы тут исходник, да он весит 20 Мб, клип делаю для локалки, поэтому вес такой. Кстати, а может ли останов происходить из-за таког веса? Вот ещё вопрос. Как правильно написать синтаксис, в первом кадре клипа, на две команды. Первая на "стоп" начала, а вторую " запуск" при наведения курсора на кнопу, ну чтобы они друг другу не мешали. |
Ты все делаешь правильно, кроме одного. Не надо вешать код на объекты. Привязывай к имени в первом кадре. Если потом у тебя встретятся экземпляры (читай -- ключевые кадры) этого же объекта, тебе не придется страдать копи-пейстом, просто дай им то же самое имя, если по логике это тот же объект.
И не надо прозрачных кнопок сверху, мувиклип несет 100% функциональности кнопок. К вопросу: Код:
myMegaHyperButton.delayedRollback = function()У меня все, успехов. |
За одно и урок русского языка дал )))
|
Заработало. Хотя я не совсем понял, в чём причина. Я сдвинул кадры клипа вправо. В одном кадре, но на разных слоях в один и тот же момент начинали запускаться, музыка и наложенный звуковой эффект. В этом месте и происходил стопор. Сместив клип от точки соприкосновения, добился беспрерывного проигрывания. Когда более углублено, освою Флешь, обязательно разберусь с этим.
Спасибо большое за замечания "по русскому", каюсь, будучи утомленным, проявил невнимательность. Что касаемо "Stop", работает и "S" и "s". Причём в разных учебниках написано и так и так. Ещё один вопрос. Описание этой строки "myMegaHyperButton.delayedRollback" в учебниках ActionScript не нашел. Можно разъяснение? Всем спасибо, от души! |
myMegaHyperButton - это instance name твоей кнопки
delayedRollback - это функция перещёлкивающая твою кнопку на первый кадр а регистры всё таки надо соблюдать ... |
| Часовой пояс GMT +4, время: 15:38. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.