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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 18.03.2009, 10:29
Gh >k вне форума Посмотреть профиль Отправить личное сообщение для Gh >k Найти все сообщения от Gh >k
  № 1  
Ответить с цитированием
Gh >k
 
Аватар для Gh >k

Регистрация: Jan 2007
Адрес: Узбекистан, Ташкент
Сообщений: 450
По умолчанию Вычисление символа через keyCode

Привет. У меня такая задача:

Нужно вычислить символ зная только keyCode клавиши с этим символом.
При событии KEY_DOWN я сохраняю keyCode , а потом, нужно вбить эту клавишу которую он нажал в текстовое поле.

Из за кучи причин использовать charCode я немогу.

Можно ли как-нибудь это реализовать? Хэлп плиз.
__________________
Peace !!!

Старый 18.03.2009, 11:12
badun вне форума Посмотреть профиль Отправить личное сообщение для badun Найти все сообщения от badun
  № 2  
Ответить с цитированием
badun

Регистрация: Dec 2007
Сообщений: 269
извиняюсь, а можно узнать почему charCode нельзя использовать?

Старый 18.03.2009, 11:14
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 3  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
сделать невидимое текстовое поле в, в которое на самом деле будет вбиваться текст %)

Старый 18.03.2009, 12:19
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Текстовое поле со своим курсором (эксперимент, поэтому код кривой), должен навести на мысль:

Код AS3:
function textInput(event:TextEvent):void {
	input.appendText(event.text);
	caretIndex++;
	updateCaret();
	event.preventDefault();
}
function updateCaret():void {
	var rect:Rectangle = input.getCharBoundaries(caretIndex - 1);
 
	if (!rect) {
		caret.x = 0;
		caret.y = input.height - 2;
	} else {
		caret.x = rect.x + rect.width;
		caret.y = rect.y;
	}	
	var m:TextLineMetrics = input.getLineMetrics(0);
	caret.graphics.clear();
	caret.graphics.lineStyle(0, 0xFF0000);
	caret.graphics.lineTo(0, m.height);
}
var caretIndex:uint = 0;
var dir:int = -1;
function enterFrame(event:Event):void {
	caret.alpha += dir * 0.1;
	if (caret.alpha < 0.01 || caret.alpha >= 0.99) dir *= -1;
}
function keyDown(event:KeyboardEvent):void {
	switch (event.keyCode) {
		case 8:
			caretIndex = caretIndex > 0 ? caretIndex - 1 : 0;
			input.text = input.text.substr(0, -1);
			this.updateCaret();
			break;
	}
}
var tf:TextField = new TextField();
tf.addEventListener(TextEvent.TEXT_INPUT, textInput);
tf.width = super.stage.stageWidth;
tf.height = super.stage.stageHeight;
tf.type = TextFieldType.INPUT;
tf.filters = [new BlurFilter(0, 0, 0)];
tf.alpha = 0;
tf.multiline = true;
var input:TextField = new TextField();
input.width = super.stage.stageWidth;
input.height = super.stage.stageHeight;
input.selectable = false;
input.mouseEnabled = false;
input.autoSize = TextFieldAutoSize.LEFT;
super.addChild(input);
super.addChild(tf);
super.stage.focus = tf;
var caret:Shape = new Shape();
super.addChild(caret);
super.stage.addEventListener(Event.ENTER_FRAME, enterFrame);
super.stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDown);
updateCaret();

Старый 18.03.2009, 12:46
Gh >k вне форума Посмотреть профиль Отправить личное сообщение для Gh >k Найти все сообщения от Gh >k
  № 5  
Ответить с цитированием
Gh >k
 
Аватар для Gh >k

Регистрация: Jan 2007
Адрес: Узбекистан, Ташкент
Сообщений: 450
charCode и другое текстовое поле не могу использовать, потому что мне придётся создавать кучу новых переменных, тем более мне нужно сохранять их в sharedObject, а таких переменных у меня много.

Думал что можно обойтись и keyCode, если нет, то придётся пожертвовать ресурсами компьютера

2 __etc Может я не так понял действие кода, но как я понял - там описывается как можно получить символ при нажатии клавиши? Но у меня другая проблема... Но спасибо за помощь !
__________________
Peace !!!

Старый 18.03.2009, 12:50
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Цитата:
Сообщение от Gh >k Посмотреть сообщение
другое текстовое поле не могу использовать, потому что мне придётся создавать кучу новых переменных
Трагедия жанра. Любите кататься? Заправляйте машину.

Старый 24.03.2009, 09:07
Gh >k вне форума Посмотреть профиль Отправить личное сообщение для Gh >k Найти все сообщения от Gh >k
  № 7  
Ответить с цитированием
Gh >k
 
Аватар для Gh >k

Регистрация: Jan 2007
Адрес: Узбекистан, Ташкент
Сообщений: 450
Я нашел выход - я вспомнил что charCode и keyCode совпадают для латинских символов с верхним регистром(что мне и нужно было), и мне не пришлось создавать новых переменных.

PS. Это я для тех у кого может быть такая же проблема...
__________________
Peace !!!

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

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

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


 


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


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