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

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 13.05.2009, 15:57
Captain QUAZAR вне форума Посмотреть профиль Отправить личное сообщение для Captain QUAZAR Найти все сообщения от Captain QUAZAR
  № 1  
Ответить с цитированием
Captain QUAZAR

Регистрация: Mar 2009
Сообщений: 31
По умолчанию Поигрывание вперед-назад зажатой кнопкой

Нужно сделать, чтобы миниатюры фотографий прокручивались в небольшом окошке, пока пользователь удерживает кнопку "ВПЕРЕД" или "НАЗАД". миниатюры представлены мувиком plenka, который содержит внутреннюю анимацию.
Написал такой код для кнопки ВПЕРЕД:
Код AS3:
plenka.stop();
vpered.addEventListener(MouseEvent.MOUSE_DOWN, vperedDownListener);
vpered.addEventListener(MouseEvent.MOUSE_UP, vperedUpListener);
 
function vperedUpListener(e:MouseEvent):void{
	plenka.gotoAndStop(plenka.currentFrame);
	trace(plenka.currentFrame);
}
 
function vperedDownListener(e:MouseEvent):void{
	plenka.gotoAndStop(plenka.currentFrame);
	trace(plenka.currentFrame);
	plenka.nextScene();
}
Когда нажимаешь кнопку, то мувик постепенно прокручивается вперед, когда отпускаешь - останавливается в том месте, куда прокрутился. Но вот когда снова нажимаешь ВПЕРЕД, то мувик plenka почему-то переходит на свой первый кадр и прокручивание начинается с него! А нужно, чтобы прокручивался с места остановки. Что я не так делаю?

Искал примеры на форуме, но там везде AS2, а мне AS3 нужно.

Старый 14.05.2009, 02:10
AL.exe вне форума Посмотреть профиль Отправить личное сообщение для AL.exe Посетить домашнюю страницу AL.exe Найти все сообщения от AL.exe
  № 2  
Ответить с цитированием
AL.exe
 
Аватар для AL.exe

Регистрация: Jan 2004
Адрес: Net
Сообщений: 1,049
Отправить сообщение для AL.exe с помощью ICQ
Не пользуйтесь сценами.

Код AS3:
plenka.gotoAndStop(plenka.currentFrame);
Вообще не понимаю смысла этого выражения. Вы переходите с того кадра на котором находитесь на него же? %)
__________________
Дело не в тебе

Старый 14.05.2009, 12:40
Captain QUAZAR вне форума Посмотреть профиль Отправить личное сообщение для Captain QUAZAR Найти все сообщения от Captain QUAZAR
  № 3  
Ответить с цитированием
Captain QUAZAR

Регистрация: Mar 2009
Сообщений: 31
Цитата:
Вообще не понимаю смысла этого выражения. Вы переходите с того кадра на котором находитесь на него же? %)
Ну вместо
Код AS3:
plenka.gotoAndStop(plenka.currentFrame);
можно использовать
Код AS3:
plenka.stop();
, это ничего не меняет. Но главная-то проблема не в этом.
Если вместо сцены использовать фрейм, то анимация при нажатии кнопки продвинется вперед на один кадр и остановится.
Я пробовал написать вот так:
Код AS3:
function vperedDownListener(e:MouseEvent):void{
           addEventListener(Event.ENTER_FRAME, Play);
	function Play(e:Event):void{
	trace(plenka.currentFrame);
	plenka.nextFrame();
	}
}
Анимация мувика проигрывается, но при отпускании кнопки она не останавливается.

Старый 15.05.2009, 02:14
AL.exe вне форума Посмотреть профиль Отправить личное сообщение для AL.exe Посетить домашнюю страницу AL.exe Найти все сообщения от AL.exe
  № 4  
Ответить с цитированием
AL.exe
 
Аватар для AL.exe

Регистрация: Jan 2004
Адрес: Net
Сообщений: 1,049
Отправить сообщение для AL.exe с помощью ICQ
А зачем так сложно? Почему не повесить на MOUSE_DOWN plenka.play(), а на MOUSE_UP - plenka.stop() ?
__________________
Дело не в тебе

Старый 15.05.2009, 11:26
Captain QUAZAR вне форума Посмотреть профиль Отправить личное сообщение для Captain QUAZAR Найти все сообщения от Captain QUAZAR
  № 5  
Ответить с цитированием
Captain QUAZAR

Регистрация: Mar 2009
Сообщений: 31
Цитата:
Сообщение от AL.exe Посмотреть сообщение
А зачем так сложно? Почему не повесить на MOUSE_DOWN plenka.play(), а на MOUSE_UP - plenka.stop() ?
Действительно!
Хм.. Ну а как же тогда в обратную сторону прокручивать?

Старый 15.05.2009, 19:26
Gal4enochek вне форума Посмотреть профиль Отправить личное сообщение для Gal4enochek Найти все сообщения от Gal4enochek
  № 6  
Ответить с цитированием
Gal4enochek

Регистрация: May 2008
Адрес: Днепропетровск
Сообщений: 151
Отправить сообщение для Gal4enochek с помощью ICQ
Можно листенер добавить, например так:
Код AS3:
plenka.stop();
 
plenka.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
 
function enterFrameHandler(event :Event):void{
	if (plenka.currentFrame == 1)
		plenka.gotoAndStop(plenka.totalFrames)
	else
		plenka.prevFrame();
}

Старый 15.05.2009, 19:34
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 7  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Подскажите, где на клавиатуре находится кнопка "ВПЕРЕД"? Ну, или хотя бы как звучит ее англоязычный аналог.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 15.05.2009, 19:47
terbooter вне форума Посмотреть профиль Отправить личное сообщение для terbooter Найти все сообщения от terbooter
  № 8  
Ответить с цитированием
terbooter

Регистрация: Oct 2006
Адрес: Novosibirsk-Kaliningrad
Сообщений: 1,278
Отправить сообщение для terbooter с помощью ICQ Отправить сообщение для terbooter с помощью Skype™
Right arrow

Добавлено через 1 минуту
Captain QUAZAR, ловите событие нажатия любой клавиши от пленки.
А затем в обработчике пишите case структуру и отрабатывайте нужные события соответствующим образом.

Старый 15.05.2009, 20:09
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 9  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от terbooter Посмотреть сообщение
Right arrow
Ну вот, я поставил на Up arrow и проиграл =(( Но все же выяснилось, что кнопки "ВПЕРЕД" на клаве нету =).
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 15.05.2009, 21:31
terbooter вне форума Посмотреть профиль Отправить личное сообщение для terbooter Найти все сообщения от terbooter
  № 10  
Ответить с цитированием
terbooter

Регистрация: Oct 2006
Адрес: Novosibirsk-Kaliningrad
Сообщений: 1,278
Отправить сообщение для terbooter с помощью ICQ Отправить сообщение для terbooter с помощью Skype™
есть клавы с мультимедийными клавишами, типа, плэй пауза,
может туда копать надо?

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

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

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


 


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


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