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

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

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

Регистрация: Oct 2012
Сообщений: 191
Question Откат клавиш

Здравствуйте всем, кто посетил сей вопрос...и заранее СПАСИБО!
Довольно долго искал ответ на просторах Интернета, но не нашел! Потому обращаюсь сюда.

Не могли бы Вы подсказать мне, как добавить к клавише "откат"... То есть, нажал один раз - произошло действие, но если нажать второй раз в течении какого-то времени(допустим 2 секунд) ничего происходить не будет! Скорее всего, я просто не знаком с названием этой могучей функции! Очень сильно жду ответов...

Старый 04.10.2012, 20:31
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 2  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
по событию нажатия включайте таймер на нужное время, производя return если время не истекло
__________________
Марк Tween

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

Регистрация: Oct 2012
Сообщений: 191
Цитата:
Сообщение от in4core Посмотреть сообщение
по событию нажатия включайте таймер на нужное время, производя return если время не истекло
как я понимаю, это единственный вариант? Никакой специальной функции не существует?
СПАСИБО за ответ)

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

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Код AS3:
flash.utills.setTimeout();
__________________
Кто к нам с чем для чего - тот у нас того от того.

Старый 04.10.2012, 21:19
vitamin4er вне форума Посмотреть профиль Отправить личное сообщение для vitamin4er Найти все сообщения от vitamin4er
  № 5  
Ответить с цитированием
vitamin4er

Регистрация: Oct 2012
Сообщений: 191
Цитата:
Сообщение от Dukobpa3 Посмотреть сообщение
Код AS3:
flash.utills.setTimeout();
ОГРОМНОЕ СПАСИБО!

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Зачем вообще какой-то отдельный таймер для этого создавать?
Нажимаем клавишу, записываем время нажатия в переменную, и проверяем разницу между текущим нажатием и предыдущим

Код AS3:
import flash.utils.getTimer();
 
stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
 
const pressInterval:int = 1000; // повторное нажатиее не раньше, чем через секунду
var lastPressTime:int = 0;
 
function onKeyUp(e:KeyboardEvent):void {
      var currentTime:int = getTimer();
      if (currentTime -  lastPressTime >= pressInterval) {
              // тут можно делать действие
              lastPressTime = currentTime;
      }
}

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

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Цитата:
Зачем вообще какой-то отдельный таймер для этого создавать?
В плане производительности так конечно лучше.
В плане удобства если кнопок много - то гемор сохранять все цифирьки последнего нажатия для каждой кнопки.

...
Хотя можно сделать отдельный класс - кнопка с таймЛоком.
__________________
Кто к нам с чем для чего - тот у нас того от того.

Старый 04.10.2012, 22:45
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 8  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
Хотя можно сделать отдельный класс - кнопка с таймЛоком.
Ну это если совсем скучно. А так можно сделать всего-навсего Object у которого ключи - это коды клавиш, а значения - это время нажатия.
__________________
...вселенская грусть

Старый 05.10.2012, 17:38
vitamin4er вне форума Посмотреть профиль Отправить личное сообщение для vitamin4er Найти все сообщения от vitamin4er
  № 9  
Ответить с цитированием
vitamin4er

Регистрация: Oct 2012
Сообщений: 191
Цитата:
Сообщение от in4core Посмотреть сообщение
по событию нажатия включайте таймер на нужное время, производя return если время не истекло
Не могли бы Вы разобрать на каком либо примере выше сказанное? Буду очень благодарен!!!

Старый 06.10.2012, 03:55
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 10  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Код AS3:
var t:Timer = new Timer(1000);
 
t.start();
 
btn.addEventListener(MouseEvent.CLICK , onClick)
 
function onClick(e:MouseEvent):void
{
    if(t.currentCount != 5 || t.isRunning) return;
    else  // do somthing  and  t.start();
}
Это грубый пример выше сказали варианты лушче
__________________
Марк Tween

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

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

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


 


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


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