Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 23.11.2005, 20:03
Алголь вне форума Посмотреть профиль Отправить личное сообщение для Алголь Найти все сообщения от Алголь
  № 1  
Ответить с цитированием
Алголь

Регистрация: Nov 2005
Сообщений: 31
По умолчанию Проблема с управлением клипа.

Помогите пожалуйста разобраться.
Создал мувиклип для интернет странички.
Мне надо чтобы:
При наведении на поле клипа, он начал проигрываться.
При клике на нём, открывалась другая страница.
При уводе курсора, клип должен остановится и перейти на первый кадр, либо остановится и запустится продолжением,если курсор вернётся на него.
Я в кнопке (кнопка невидимая, на поле клипа) прописал такой код:

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);
}
}
тоже ничего не получается.

Подскажите, в чём загвоздка? Или может надо другим путём идти, что бы клип остановился при уводе курсора?

Старый 23.11.2005, 22:19
dimel вне форума Посмотреть профиль Отправить личное сообщение для dimel Найти все сообщения от dimel
  № 2  
Ответить с цитированием
dimel
 
Аватар для dimel

Регистрация: Aug 2005
Сообщений: 117
Попробуй обрабатывать события кнопки не в самой кнопке, а в кадре...

тут исходник
Вложения
Тип файла: rar on.rar (5.9 Кб, 7 просмотров)

Старый 24.11.2005, 04:44
Алголь вне форума Посмотреть профиль Отправить личное сообщение для Алголь Найти все сообщения от Алголь
  № 3  
Ответить с цитированием
Алголь

Регистрация: Nov 2005
Сообщений: 31
Нет, не получается. Пробовал переделать свой клип, чтобы по структуре был похож на твой исходник. Не работает.
Пробовал обрабатывать события в кадре, а не в кнопке. Кучу всего перепробовал. Работает только, если в первом кадре клипа:
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 Мб, клип делаю для локалки, поэтому вес такой.
Кстати, а может ли останов происходить из-за таког веса?
Вот ещё вопрос. Как правильно написать синтаксис, в первом кадре клипа, на две команды. Первая на "стоп" начала, а вторую " запуск" при наведения курсора на кнопу, ну чтобы они друг другу не мешали.

Старый 24.11.2005, 05:25
Antares вне форума Посмотреть профиль Найти все сообщения от Antares
  № 4  
Ответить с цитированием
Antares
Banned
[+1 16.05.2006]
[++1 16.05.2006]
[+ 1 21.05.06]
[++ за хамство]
[+1 21.05.2006]
 
Аватар для Antares

Регистрация: Dec 2003
Сообщений: 3,925
Ты все делаешь правильно, кроме одного. Не надо вешать код на объекты. Привязывай к имени в первом кадре. Если потом у тебя встретятся экземпляры (читай -- ключевые кадры) этого же объекта, тебе не придется страдать копи-пейстом, просто дай им то же самое имя, если по логике это тот же объект.

И не надо прозрачных кнопок сверху, мувиклип несет 100% функциональности кнопок.

К вопросу:
Код:
myMegaHyperButton.delayedRollback = function()
{
	gotoAndStop(1);
	clearInterval(this.interv);
}

myMegaHyperButton.onRollOver = function()
{
	play();
}

myMegaHyperButton.onRollOut = function()
{
	stop();
	this.interv = setInterval(this.delayedRollback, 3000);
}

myMegaHyperButton.onRelease = function()
{
	getURL("http://algol.local/d/index.php");
}
Еще мелкие поправки: регистр надо учитывать точно так, как в документации (stop, а не Stop), "убираю" пишется через и, потому что за корнем суффикс "-а".

У меня все, успехов.

Старый 24.11.2005, 05:43
KUZEN вне форума Посмотреть профиль Отправить личное сообщение для KUZEN Посетить домашнюю страницу KUZEN Найти все сообщения от KUZEN
  № 5  
Ответить с цитированием
KUZEN
Ветеран форума
 
Аватар для KUZEN

Регистрация: Jun 2005
Адрес: MOSCOW
Сообщений: 6,852
Отправить сообщение для KUZEN с помощью ICQ Отправить сообщение для KUZEN с помощью Yahoo Отправить сообщение для KUZEN с помощью Skype™
За одно и урок русского языка дал )))
__________________
BestMasterиZация

Старый 24.11.2005, 16:30
Алголь вне форума Посмотреть профиль Отправить личное сообщение для Алголь Найти все сообщения от Алголь
  № 6  
Ответить с цитированием
Алголь

Регистрация: Nov 2005
Сообщений: 31
Заработало. Хотя я не совсем понял, в чём причина. Я сдвинул кадры клипа вправо. В одном кадре, но на разных слоях в один и тот же момент начинали запускаться, музыка и наложенный звуковой эффект. В этом месте и происходил стопор. Сместив клип от точки соприкосновения, добился беспрерывного проигрывания. Когда более углублено, освою Флешь, обязательно разберусь с этим.
Спасибо большое за замечания "по русскому", каюсь, будучи утомленным, проявил невнимательность. Что касаемо "Stop", работает и "S" и "s". Причём в разных учебниках написано и так и так.
Ещё один вопрос. Описание этой строки "myMegaHyperButton.delayedRollback" в учебниках ActionScript не нашел. Можно разъяснение?
Всем спасибо, от души!


Последний раз редактировалось Алголь; 24.11.2005 в 16:40.
Старый 24.11.2005, 16:54
KUZEN вне форума Посмотреть профиль Отправить личное сообщение для KUZEN Посетить домашнюю страницу KUZEN Найти все сообщения от KUZEN
  № 7  
Ответить с цитированием
KUZEN
Ветеран форума
 
Аватар для KUZEN

Регистрация: Jun 2005
Адрес: MOSCOW
Сообщений: 6,852
Отправить сообщение для KUZEN с помощью ICQ Отправить сообщение для KUZEN с помощью Yahoo Отправить сообщение для KUZEN с помощью Skype™
myMegaHyperButton - это instance name твоей кнопки
delayedRollback - это функция перещёлкивающая твою кнопку на первый кадр
а регистры всё таки надо соблюдать ...
__________________
BestMasterиZация

Создать новую тему Ответ Часовой пояс GMT +4, время: 23:01.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 23:01.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.