![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Mar 2006
Сообщений: 41
|
Как сделать, чтобы на быстрое двойное нажатие клавиши случалось какое-либо действие? Если не влом, напишите пример кода.
|
|
|||||
|
Регистрация: Nov 2007
Сообщений: 1,724
|
Вот скрипт:
Mouse.addListener(Mouse);
Mouse["onMouseDown"+""] = function():Void {
if (getTimer()-this.time<=300 && this.flag) {
Mouse["broadcastMessage"]("onDoubleClick");
this.flag = false;
trace("АгА!!!!")
// здесь писать условия
} else {
this.time = getTimer();
this.flag = true;
}
};
Mouse["rightClick"] = function():Void {
if (Key.isDown(2)) {
trace(9)
Mouse["broadcastMessage"]("onRightClick");
}
};
setInterval(Mouse, "rightClick", 100);
|
|
|||||
|
Регистрация: Mar 2006
Сообщений: 41
|
Так, отлично. Только я имел ввиду клавишу клавиатуры... Что на что заменить?
|
|
|||||
|
Для клавеши [A]
var keyListener:Object = new Object();
keyListener.onKeyDown = down;
keyListener.onKeyUp = up;
Key.addListener(keyListener);
var downs = 0;
var ups = 0;
var timer;
function down() {
if (Key.getCode() == 65) {
downs++;
clearInterval(timer);
if (downs == 2 && ups == 1) {
clear(); done();
} else timer = setInterval(clear, 600);
}
}
function up() {
if (Key.getCode() == 65) ups = downs;
}
function clear() {
clearInterval(timer);
ups = 0; downs = 0;
}
function done() {
trace('ok');
}
Последний раз редактировалось Mnilionic; 12.10.2008 в 18:40. |
|
|||||
|
Регистрация: Nov 2007
Сообщений: 1,724
|
Цитата:
Если бы пригодилось, я бы посмотрел что к чему, а так мне это (пока) накой не нужно. ![]() |
|
|||||
|
Регистрация: Mar 2006
Сообщений: 41
|
Блин! Все гениальное просто! Огромный сенькс!!!
|
|
|||||
|
.
|
Mnilionic, зачем создавать объект-листенер для того, чтобы переназначить его callback-функции на рутовые?
Проще надо быть Key.addListener(this);
var downs = 0;
var ups = 0;
var timer;
function onKeyDown() {
if (Key.getCode() == 65) {
downs++;
clearInterval(timer);
if (downs == 2 && ups == 1) {
clear(); done();
} else timer = setInterval(clear, 600);
}
}
function onKeyUp() {
if (Key.getCode() == 65) ups = downs;
}
function clear() {
clearInterval(timer);
ups = 0; downs = 0;
}
function done() {
trace('ok');
}
Последний раз редактировалось dimarik; 12.10.2008 в 19:18. |
|
|||||
|
эта типизация попала случайна, в следствии копирования строк из хелпа.
а писать в объект или в мувик это задача автора, я только возможную логику показал. |
|
|||||
|
Привет!
Или без setInterval |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:35. |
|
|
« Предыдущая тема | Следующая тема » |
|
|