PDA

Просмотр полной версии : TextArea


gukit
22.02.2007, 16:33
Здравствуйте! На сайте Flasher.ru в разделе статьи я скачал код commserver. http://flasher.ru/articles/view/{tutors.pg=205}
http://flasher.ru/forum/attachment.php?attachmentid=16574&stc=1&d=1172147854
Я плохо разбираюсь в ActionScript. Как мне с имеющимися переменными сделать следующее:
При нажатии на кнопки вверх, вниз, влево, вправо(стрелочки) в textarea_txt записывалось соответственно up,down,left,right? И куда это в коде надо вставить? Заранее спасибо.

// +-------------------------------------------------------+
// | Action Script 2 |
// +-------------------------------------------------------+
// | Flash Communication Server Tutorial |
// | |
// +-------------------------------------------------------+
// | George Forest 2004 |
// | george-forest@inbox.ru |
// +-------------------------------------------------------+

// Открытие соединения с сервером
// создаем экземпляр класса
client_nc = new NetConnection();
// выполняем соединение с локальным серверным приложением mycomapp
client_nc.connect("rtmp://172.25.21.225:1935/mycomapp");

// Сообщение о статусе соединения
// определяем функцию обработчик события
// изменения статуса соединения
client_nc.onStatus = function(info) {
// выводим информацию о статусе соединения
trace("Level: " + info.level + " Code: " + info.code);
}

// Открытие соединения с удаленным общим обьектом
// создаем удаленый общий обьект, где client_nc.uri - URI обьекта
// NetConnection использованое для соединения с сервером
text_so = SharedObject.getRemote("sharedtext", client_nc.uri, true);
// соединение с удаленными обьектом общих данных
text_so.connect(client_nc);

// Событие изменения текста в текстовом поле
textArea_txt.changeHandler = function() {
// обновление общего обьекта каждый раз, когда пользователь
// набирает новый текст

text_so.data.textValue = textArea_txt.text;
// Событие изменения данных общего обьекта
};







// каждый раз при изменении данных в общем обьекте, сервер
// посылает синхронизирующее сообщение всем активным клиентам
// это событие onSync вызываеться при обновлении данных в флеш ролике
text_so.onSync = function(list) {
// в параметре list передается список всех измененных обьектов
// переменных созданных на аттрибуте data объекта SharedObject
// с указанием статуса их изменения
for (var i = 0; i<list.length; i++) {
if (list[i].name == "textValue" && list[i].code != "success") {
textArea_txt.text = text_so.data.textValue;
break;
}
}
};
// Функция клиента добавленная на объект соединения
// для возможности вызова ее с сервера
client_nc.showMessage = function(msg){
// вывод сообщения с сервера
trace(msg);
}

// обьект для загрузки возвращаемого
// значения серверной функции
Result = function(){
// событие загрузки результата функции
this.onResult = function(value){
trace("Total Connections: "+value);
}
}
// вызов серверной функции с возвращением результата
client_nc.call("getTotalConnections", new Result());

CorC
22.02.2007, 17:05
вы еще спросите куда текст вводить...
прочитайте про Key и TextField



// Событие изменения текста в текстовом поле
textArea_txt.changeHandler = function() {
// обновление общего обьекта каждый раз, когда пользователь
// набирает новый текст

text_so.data.textValue = textArea_txt.text;
// Событие изменения данных общего обьекта
};

gukit
22.02.2007, 19:39
Я пишу вот это для клавиши Enter, но не работает.
Что неверно?

var keyListentextarea_txt = new Object();
keyListentextarea_txt.onKeyDown = function () {
if (Key.getCode() == Key.ENTER){
textarea_txt.text="Нажата клавиша Enter"
}
}
Key.addListener(keyListentextarea_txt);

etc
22.02.2007, 21:04
gukit, приведите свой код в надлежащий вид.

gukit
22.02.2007, 23:30
В какой вид? Поставить тег код?

etc
23.02.2007, 02:34
Да-да, щас всё ОК.

gukit
23.02.2007, 02:39
Я плохо сформулировал вопрос в теме. Лучше ее закрыть.

etc
23.02.2007, 02:44
Как угодно.