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

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

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

Регистрация: Jul 2007
Адрес: Гражданин Российской Федерации
Сообщений: 1,122
Отправить сообщение для KiL33 с помощью ICQ
По умолчанию DoubleClick в ограниченной области

Необходимо сделать двойное нажатие в ограниченной области.
Код:
var counter:Number = 0;
var delay:Number = 300;

var myBroadcaster:Object = new Object();
AsBroadcaster.initialize(myBroadcaster);
var myListener:Object = new Object();
myBroadcaster.addListener(myListener);
Mouse.addListener(myListener);

this.onMouseDown = function() {
	if (this._xmouse>q1._x && this._xmouse<(q1._x+q1._width) && this._ymouse>q1._y && this._ymouse<(this.q1._y+this.q1._height)) {
// Где q1-это мувик в границах которого происходит действие при двойном щелчке
		
		myListener.onMouseDown = function() {
			clickInterval = getTimer()-clickTime;
			clickTime = getTimer();
			if (clickInterval<delay) {
				myBroadcaster.broadcastMessage("onDoubleClick","Двойной щелчок #"+(++counter)+"\rзадержка между щелчками: "+clickInterval);
				clickTime = -delay;
			}
		}
		myListener.onDoubleClick = function(mes:String) {
			trace(mes);
		}
	}
}
Первый двойной щелчок срабатывает в определенной области, а последующие начинают срабатывать в не зависимости от указанной области.
Как это исправить?

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Код:
var counter:Number = 0;
var delay:Number = 300;

var myBroadcaster:Object = new Object();
AsBroadcaster.initialize(myBroadcaster);
var myListener:Object = new Object();
myBroadcaster.addListener(myListener);
Mouse.addListener(myListener);

this.onMouseDown = function() {
	// Где q1-это мувик в границах которого происходит действие при двойном щелчке
	if (q1.hitTest(_xmouse, _ymouse, true)) {
		myListener.onMouseDown = function() {
			if (q1.hitTest(_xmouse, _ymouse, true)) {
				clickInterval = getTimer()-clickTime;
				clickTime = getTimer();
				if (clickInterval<delay) {
					myBroadcaster.broadcastMessage("onDoubleClick","Двойной щелчок #"+(++counter)+"\rзадержка между щелчками: "+clickInterval);
					clickTime = -delay;
				}
			}
		};
		myListener.onDoubleClick = function(mes:String) {
			trace(mes);
		};
	}
};
__________________
Reality.getBounds(this);

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

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

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


 


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


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