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

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

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

Регистрация: Nov 2006
Сообщений: 5
По умолчанию Отслеживание активности мышки или клавы

Здравствуйте! у меня есть флеш презентация на as3/ сам я знаю его посредственно gotoandplay на таймлайне - так сделаны переходы между кадрами презентации.

Необходимо сделать чтобы если пользователь какое то время (1 минута например) не водит мышкой и не нажимает клавиш - поверх презентации проигрывался ролик (flv файл)

А как только мышка задвигалась - ролик исчезал. Как это реализовать ? прошу написать код.

Спасибо

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

блогер
Регистрация: Feb 2008
Адрес: http://playtika.com
Сообщений: 1,119
Записей в блоге: 5
Отправить сообщение для СлаваRa с помощью ICQ Отправить сообщение для СлаваRa с помощью Skype™
откройте справку, посмотрите события MouseEvent
__________________
местонахождение

Старый 14.10.2011, 20:53
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 3  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Цитата:
прошу написать код.
С такими просьбами здесь обычно обращаются в вакансии.
Но раз уж задача такая простая, то:
Код AS3:
package  {
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.KeyboardEvent;
	import flash.events.MouseEvent;
	import flash.events.TimerEvent;
	import flash.utils.Timer;
 
	public class TimerTracer extends Sprite {
 
		private var _timer:Timer = new Timer(60000);	// выставляем минуту
 
		public function TimerTracer() {
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
 
		private function init(e:Event = null):void {
			removeEventListener(Event.ADDED_TO_STAGE, init);
			stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
			stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
			_timer.addEventListener(TimerEvent.TIMER, onTimerTick);
			startMovie();
		}
		private function startMovie():void { // этот матод нужно вызвать вручную
			  _timer.reset();
                                    _timer.start();	
		}
		private function onTimerTick(e:TimerEvent):void {
			trace("Прошла минута, показываем ролик"); // досюда дойдет, только если в течение минуты ни мышь ни клавиатура не проявили активности                  _timer.stop();
		}
		private function onKeyDown(e:KeyboardEvent):void {
			_timer.reset(); // нажата какая-то клавиша, сбрасываем таймер и заново его стартуем
			_timer.start();
		}
 
		private function onMouseMove(e:MouseEvent):void {
			_timer.reset(); // то же самое для движения мыши
			_timer.start();
		}
	}
}


Последний раз редактировалось goodguy; 14.10.2011 в 21:04.
Старый 15.10.2011, 15:09
Slavaaaa вне форума Посмотреть профиль Отправить личное сообщение для Slavaaaa Найти все сообщения от Slavaaaa
  № 4  
Ответить с цитированием
Slavaaaa

Регистрация: Nov 2006
Сообщений: 5
Спасибо большое за код. я попробую разобраться и отпишусь что получилось

Старый 15.10.2011, 15:17
fish_r вне форума Посмотреть профиль Отправить личное сообщение для fish_r Посетить домашнюю страницу fish_r Найти все сообщения от fish_r
  № 5  
Ответить с цитированием
fish_r
 
Аватар для fish_r

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
Цитата:
Сообщение от goodguy Посмотреть сообщение
С такими просьбами здесь обычно обращаются в вакансии.
Но раз уж задача такая простая, то:...
К слову сказать: обработчик можно было бы один поставить на все события активности, в контексте ведь не важно что именно делает юзер, главное - делает. Ну, я так делаю, не знаю - может это и не по фен-шую

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

Регистрация: Nov 2006
Сообщений: 5
goodguy, Выдает ошибку код:
Scene0, Layer 'Layer 6', Frame 25, Line 23 1083: Syntax error: package is unexpected.

я вобще дуб дубом в этом. может вы возьметесь помоч за деньги?

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

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
это пример кода для класса, а не вставки его в фрейм таймлайна..надо было сразу вам в вакансии )
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

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

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

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


 


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


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