![]() |
|
||||||||||
|
|||||
|
снова пришлось сталкнуться с этой проблемой, недолго бумая написал
var length = 0;
var dataCode= [113, 119, 101, 114, 116, 121, 117, 105, 111, 112, 91, 93, 97, 115, 100, 102, 103, 104, 106, 107, 108, 59, 39, 122, 120, 99, 118, 98, 110, 109, 44, 46, 47, 81, 87, 69, 82, 84, 89, 85, 73, 79, 80, 245, 250, 65, 83, 68, 70, 71, 72, 74, 75, 76, 230, 253, 90, 88, 67, 86, 66, 78, 77, 225, 254, 46];
var dataSymb = ["й", "ц", "у", "к", "е", "н", "г", "ш", "щ", "з", "х", "ъ", "ф", "ы", "в", "а", "п", "р", "о", "л", "д", "ж", "э", "я", "ч", "с", "м", "и", "т", "ь", "б", "ю", ".", "Й", "Ц", "У", "К", "Е", "Н", "Г", "Ш", "Щ", "З", "Х", "Ъ", "Ф", "Ы", "В", "А", "П", "Р", "О", "Л", "Д", "Ж", "Э", "Я", "Ч", "С", "М", "И", "Т", "Ь", "Б", "Ю", "."];
var Translit = new Array();
for (var i = 0; i<dataCode.length; i++) {
Translit[dataCode[i]] = dataSymb[i];
}
tf.onChanged = function() {
if (length+2 == this.length) {
this.text = this.text.substr(0, length)+Translit[Key.getAscii()]
}
length = this.length;
};
мож кто предложит как упростить схему |
|
|||||
|
Регистрация: Mar 2003
Сообщений: 32
|
Создай TextField в UIObject и в затем делай doLater()
PS: Или используй Label...и doLater() у него Последний раз редактировалось ruboard; 13.09.2004 в 19:00. |
|
|||||
|
для проблемы с транспарентом подключать ММ ксласы и раздувать пустой файл на 40-50кБ?
А к чему мне тут юзать doLater(), не въехал |
|
|||||
|
маленькая поправка onChanged отрабатывает но сорс в нем есе одновременно зажать несколько клавиш, кнешна нет
ЗЫ: как проверить количество нажатых клавиш ЗЫ: придеться написать койта конвеер для проверки, определения раскладки, замены. Пора звать John-a |
|
|||||
|
Может так..?
CodeArr = [];
function checkKey()
{
myListener = new Object();
myListener.onKeyDown = function()
{
i = Key.getCode();
CodeArr.push(i);
if (i != CodeArr[0]) {
trace("нажато больше одной клавиши");
}
};
myListener.onKeyUp = function()
{
Key.removeListener(myListener);
CodeArr = [];
};
Key.addListener(myListener);
}
tf.onChanged = function(txt)
{
checkKey();
};
|
|
|||||
|
Цитата:
По подобной схеме я и тож пошол хмм, проблему решали на протяжении двух лет, флешГУРУ мля нати пару свободных чесов, и все будет |
|
|||||
|
зуу, похоже есть, вставляет кирилицу четко.
правдо пока тока в варианте что пичатаеться текст и каретка находиться в конце строки. поправить етот недостаток не проблема. ЗЫ: чтож панацея от терзавщего глюка найдена, скоро выкину на рынок. сорс расчитан на рунет, посмотрим как в рунете относяться к чужому труду |
|
|||||
|
Не перспективно
Цитата:
Попробуй ввести что нибудь, а потом поставить курсор посередине введенного текста и продолжить ввод, и таких ньюансов много. 2. Поддерживается только кириллица var bit1 = input_tf.text.charCodeAt(input_tf.text.length-2); var bit2 = input_tf.text.charCodeAt(input_tf.text.length-1); var charCode=(bit1 << 8) | (bit2); var unicode=String.fromCharCode(charCode); 3. Поддерживается только Internet Explorer. Поскольку в нетскэйп плагине баг выражается в другом(вместо двух ASCII символов, латинский символ нажатой клавиши) то твой код там работать не будет. Поэтому панацеей будет рекомендация не использовать поле ввода текста во флэше при wmode=transparent. А если так нетерпится то можно использовать абсолютно позиционированное html-ное текстовое поле. <input type="text" name="textfield" style="position:absolute; width:200px; left:30px; border:1px solid #ff0000; background:transparent; "> <object classid="clsid: D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="420" height="250"> <param name="movie" value="test.swf"> <param name="quality" value="high"> <param name="wmode" value="transparent"> <embed src="test.swf" width="420" height="250" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent"></embed> </object> А для оперы оставить текстовое поле во флэше
__________________
Don't use the Force, Luke - try to THINK! |
|
|||||
|
1. уже поправил, многии ньюансы
2. теоритически , хмм попробую 3. нетскэйп есе не ошибаюсь ваще не держит транспарет флеши, хатя мож информация устарела. А ваще НН масДай. Немного более живучий к експлоидам, но зацени стату по юзанью НН Использовать инпут поля, хых, а ты попробуй отпозиционируй их по динамическому интейфейсу флеши. ЗЫ: ща набросал рабочий движок, думать о переносе на другии платформы, буду потом |
|
|||||
|
2Proman: ты свое теоритически пробывал на транспаренте? есе найдеш закономерности, будет оч интересно заценить))
|
![]() |
Часовой пояс GMT +4, время: 10:44. |
|
|
« Предыдущая тема | Следующая тема » |
|
|