Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   двойной щелчок (http://www.flasher.ru/forum/showthread.php?t=97682)

K!ska 27.06.2007 11:18

двойной щелчок
 
что нужно написать чтобы событие приходило по двойному щелчку а не по одному нажатию

Haiat 27.06.2007 11:54

После первого щелчка пусть включается таймер,допустим на пол секунды.и за это время отлавливай ещё одно

Aziz Zaynutdinoff 27.06.2007 12:08

Как один из вариантов можно так

А вообще – тема обсуждалась неоднократно и очень подробно.

Kikasso 27.06.2007 12:10

Примерно так:
Код:

function dblClick(){ trace('YES'); }
var lastPressed:Number = 0;
var deltaT:Number = 500; //полсекунды
btn.onPress = function(){
 var t:Number = getTimer();
 if(t - lastPressed < deltaT )dblClick();
 lastPressed  = t;
}

Aziz, на фиг там Delegate и таймауты?

iNils 27.06.2007 12:31

Kikasso, а что будет, если я нажму три раза и между ними будет меньше, чем полсекунды?)

Kikasso 27.06.2007 12:43

Цитата:

Сообщение от iNils
Kikasso, а что будет, если я нажму три раза и между ними будет меньше, чем полсекунды?)

В данном случае - два 'YES'.
Ну можно lastPressed обнулить после второго щелчка, если настаиваете.
Код:

function dblClick(){
 lastPressed = 0;
 trace('YES, deltaT =' + Math.floor(deltaT));
 deltaT *= .9; //шутка
}
var lastPressed:Number = 0;
var deltaT:Number = 500; //полсекунды
btn.onPress = function(){
 var t:Number = getTimer();
 if(t - lastPressed < deltaT )dblClick();
 else lastPressed  = t;
}

У меня получилось 'YES, deltaT =75'. Быстрее, увы, никак.
upd: переложил палец и получил 67.

Aziz Zaynutdinoff 27.06.2007 16:32

Kikasso,
если обратишь внимание – писал за день до нового года :)
ну и потом: работает и ладно, поскольку надобности не было – переписывать не стал...


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

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