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

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

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

Регистрация: Oct 2006
Сообщений: 2,283
По умолчанию MouseEvent.DOUBLE_CLICK пропуска событий

Имеется спрайт, подписанный на MouseEvent.DOUBLE_CLICK.По даблклику спрайт поворачивается на 90 градусов(курсор мыши при этом остается в рамках бокса спрайта).И если продолжить остервенело долбить кнопку мыши все последующие даблклики перестают приходить.При этом если чуть сдвинуть мыша, то выскочит еще 1 даблклик и потом опять пропуски.Если остановиться и выждать 1-1.5 сек.- снова 1 событие и тишина.Воспроизводится,похоже, только в хроме.Локально все ок.Кто-нибудь сталкивался? Бага впринципе некритичная, но напрягает что в самом ходовом браузере.

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
В порядке бреда, updateAfterEvent() пробовал?

Старый 01.05.2015, 20:25
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 3  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,283
неа, не помогает

Добавлено через 25 минут
изолировал проблему.Кто под хромом сидит - потыркайте плз.Может это только у меня такая херь.
хех, а как делать чтоб предпросмотр был прямо в сообщение?
Вот Линк на тоже самое только на хостинге
Вложения
Тип файла: swf DClick_test.swf (20.0 Кб, 41 просмотров)


Последний раз редактировалось undefined; 01.05.2015 в 21:49.
Старый 01.05.2015, 21:15
callme вне форума Посмотреть профиль Отправить личное сообщение для callme Найти все сообщения от callme
  № 4  
Ответить с цитированием
callme
 
Аватар для callme

Регистрация: Dec 2014
Сообщений: 312
Поиграл в твою демку.

На firefox можно тыркать с какой хочешь скоростью.
На chrome приходится ждать иначе перестает реагировать.

Старый 01.05.2015, 21:21
OlmerDale вне форума Посмотреть профиль Отправить личное сообщение для OlmerDale Найти все сообщения от OlmerDale
  № 5  
Ответить с цитированием
OlmerDale
[+1 09.05.15]

Регистрация: Jan 2015
Сообщений: 113
Если с родным не работает, может свой дабл сделать?

Старый 01.05.2015, 21:27
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 6  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,283
Видимо придется.

Добавлено через 25 минут
Опера тоже отличилась - тоже стопорится

Добавлено через 14 часов 40 минут
на будущее, может кому пригодится.Пропатченый спрайт:
Код AS3:
package {
	import flash.display.*;
	import flash.events.*;
 
	/**
	 * ...
	 * @author 
	 */
	public class PatchedSprite extends Sprite 
	{
		private var lastClickTimestamp:Number = -1;
		private const DELAY:Number = 200; // time interval beetween two clicks
		public function PatchedSprite() 
		{
			super();
			this.addEventListener(MouseEvent.CLICK, hClick, false, 0, true);
 
		}
 
		private function hClick(e:MouseEvent):void {
			if (this.hasEventListener(MouseEvent.DOUBLE_CLICK)) {
				var date:Date = new Date();
				if (lastClickTimestamp<0) {
					lastClickTimestamp = date.getTime();
				} else if ((date.getTime() - lastClickTimestamp) <= DELAY) {
					var ev:MouseEvent = new MouseEvent(MouseEvent.DOUBLE_CLICK, e.bubbles, e.cancelable, e.localX, e.localY, e.relatedObject, e.ctrlKey, e.altKey, e.shiftKey, e.buttonDown);
					this.dispatchEvent(ev);
					lastClickTimestamp = -1;
				} else {
					lastClickTimestamp = date.getTime();
				}
			}
		}
		override public function set doubleClickEnabled(value:Boolean):void {
			// override to disable default doubleclicks
		}
 
 
	}
 
}


Последний раз редактировалось undefined; 01.05.2015 в 21:54.
Создать новую тему Ответ Часовой пояс GMT +4, время: 06:11.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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