Форум 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=101464)

AlliAS 19.09.2007 00:28

как заставить флэш реагировать на ввод слов
 
Ув. Флэшеры. Хочу узнать кое-что:
Как мне заставить работать функцию после ввода какого либо слова. (например при вводе слова "enter" запускалось выполнение какой-нить функции)
Если можно с пояснениями.
Заранее благодарен.

Mr. Fixit 19.09.2007 00:44

Код:

test_txt.onChanged = function () {
        if (this.text == "enter") {
                trace ('f');
        }
};


AlliAS 19.09.2007 14:05

Большое спасибо, запомню, но мне нужно чуть чуть другое: чтобы при вводе слова с клавиатуры (без текстового поля) срабатывала функция.

olexandr 19.09.2007 16:26

используй функцию onKeyPress
потом считываешь код символа с помощью команды getAscii()
и если последовательность введенных символов совпадает с твоим "ентером", выполняем нужное действие

Mr. Fixit 19.09.2007 20:51

Код:

var keyListener:Object = new Object();

keyListener.onKeyDown = function () {
        txt.text += String.fromCharCode(Key.getAscii());
        if(txt.text == "enter") {
                txt.text = "Successful.";
        }
}

Key.addListener(keyListener);


AlliAS 19.09.2007 22:02

спасибо за еще 1 способ но нельзяли вообще без текстовых полей (это уже просто дело интереса)

udaaff 19.09.2007 22:15

Ну и вопросики :mosking:
Код:

var keyListener:Object = new Object();
my_str = "";
keyListener.onKeyDown = function() {
        my_str += String.fromCharCode(Key.getAscii());
        if (my_str != "enter") {
                trace(my_str);
        } else {
                trace("success");
        }
};
Key.addListener(keyListener);


Mnilionic 19.09.2007 23:33

думаю нужно обнулять my_str если кнопки не нажимаются некоторое кол-во времени + после того как сработал "success"

Код:

var interval:Number;
var my_str:String = "";
function Clear(){
        trace("clear")
        my_str = "";
        clearInterval(interval);
}

var keyListener:Object = new Object();
keyListener.onKeyDown = function() {
        clearInterval(interval);
        interval = setInterval(Clear, 5000);
        my_str += String.fromCharCode(Key.getAscii());

        if (my_str.indexOf("enter") == -1) { // ой, лучше lastIndexOf()
                trace(my_str);
        } else {
                trace("success");
                Clear();
        }
}
Key.addListener(keyListener);



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

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