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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 28.02.2012, 14:23
Parsley вне форума Посмотреть профиль Отправить личное сообщение для Parsley Найти все сообщения от Parsley
  № 1  
Ответить с цитированием
Parsley

Регистрация: Mar 2009
Сообщений: 21
По умолчанию Запись в массив изменений в TextField

Как реализовать? Переменная одна передается из JS в виде строки (работает),
содержание строки меняется, отправляет в TextField (обычное текстовое поле в Flash). Надо отслеживать эти изменения и записывать в массив (история) или строчкой, то что менялось в TextField-e.
Например.
В текстовом поле появляются,
строки:

сначало
1. set:red

потом
2. set:yellow

далее
3. set:green
и т.д.

Надо чтобы все события отслеживались и записывались в какую-нибудь переменную (одной строкой т.е. так: set:red, set:yellow, set:green ) или в массив.



Последний раз редактировалось Parsley; 28.02.2012 в 14:43.
Старый 28.02.2012, 14:43
Inet_PC вне форума Посмотреть профиль Отправить личное сообщение для Inet_PC Посетить домашнюю страницу Inet_PC Найти все сообщения от Inet_PC
  № 2  
Ответить с цитированием
Inet_PC
 
Аватар для Inet_PC

Регистрация: Feb 2009
Адрес: Гы...поди, найди!
Сообщений: 853
Записей в блоге: 1
Ну а в чем проблема от? В момент
Цитата:
Переменная одна передается из JS в виде строки (работает),
передачи строки, смотрите, если уже, что-то есть, то добавляете в конец массива текущее значение, а новое значение ставите на место текущего.
__________________
http://www.chessmax.ru

Старый 28.02.2012, 14:58
Srednas вне форума Посмотреть профиль Отправить личное сообщение для Srednas Найти все сообщения от Srednas
  № 3  
Ответить с цитированием
Srednas

Регистрация: Nov 2010
Сообщений: 430
Цитата:
Сообщение от Parsley Посмотреть сообщение
Надо чтобы все события отслеживались и записывались в какую-нибудь переменную (одной строкой т.е. так: set:red, set:yellow, set:green ) или в массив.

Как вариант:

Код AS3:
var all:Vector.<String> = new Vector.<String>;
...
// реакция на изменения, пришедшие из JS:
var s:string = "текст вашего изменения";
myTextField.text = s;
all.push(s); // добавляем изменение в массив всех изменений
 
// теперь все изменения лежат в векторе (0 — первое, (all.lenght -1) — последнее)
__________________
Лучше спросить и выставить себя дураком на пять минут, чем не спросить и остаться дураком на всю жизнь.

Старый 28.02.2012, 14:59
tsarapkabel вне форума Посмотреть профиль Отправить личное сообщение для tsarapkabel Найти все сообщения от tsarapkabel
  № 4  
Ответить с цитированием
tsarapkabel
 
Аватар для tsarapkabel

Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
Код AS3:
myTextField.addEventListener(Event.CHANGE, text_change);
...
private function text_change(event:Event):void {
	textArray.push(myTextField.text);
}
__________________
Нормально делай — нормально будет!

Старый 28.02.2012, 15:18
Parsley вне форума Посмотреть профиль Отправить личное сообщение для Parsley Найти все сообщения от Parsley
  № 5  
Ответить с цитированием
Parsley

Регистрация: Mar 2009
Сообщений: 21
А как теперь их всех вывести в какое нибудь текстовое поле в flash и записать строчкой в одну переменную?:
Код AS1/AS2:
// теперь все изменения лежат в векторе (0 — первое, (all.lenght -1) — последнее)

Старый 28.02.2012, 15:22
Inet_PC вне форума Посмотреть профиль Отправить личное сообщение для Inet_PC Посетить домашнюю страницу Inet_PC Найти все сообщения от Inet_PC
  № 6  
Ответить с цитированием
Inet_PC
 
Аватар для Inet_PC

Регистрация: Feb 2009
Адрес: Гы...поди, найди!
Сообщений: 853
Записей в блоге: 1
Код AS3:
tf.text = all.join(',');
__________________
http://www.chessmax.ru

Старый 28.02.2012, 15:34
Parsley вне форума Посмотреть профиль Отправить личное сообщение для Parsley Найти все сообщения от Parsley
  № 7  
Ответить с цитированием
Parsley

Регистрация: Mar 2009
Сообщений: 21
Добавлено через 15 минут
Код AS3:
var all:Vector.<String> = new Vector.<String>;
//реакция на изменения, пришедшие из JS:
var n:String = test1; // где test1 -- переменная из JS
myTextField.text = n;
all.push(n); // добавляем изменение в массив всех изменений
tf.text = all.join(',');
создаю текстовое поле с названием tf, но выводит только последнее значение test1
Что делать?


Последний раз редактировалось Parsley; 28.02.2012 в 16:26.
Старый 28.02.2012, 16:49
MikroAcse вне форума Посмотреть профиль Отправить личное сообщение для MikroAcse Найти все сообщения от MikroAcse
  № 8  
Ответить с цитированием
MikroAcse
 
Аватар для MikroAcse

Регистрация: Feb 2012
Сообщений: 1,540
Потому что надо подписываться на Event.CHANGE

Старый 28.02.2012, 16:52
Parsley вне форума Посмотреть профиль Отправить личное сообщение для Parsley Найти все сообщения от Parsley
  № 9  
Ответить с цитированием
Parsley

Регистрация: Mar 2009
Сообщений: 21
А подробнее, не понял... Надо всего ничего их от туда достать, если они там есть. = )

Старый 28.02.2012, 16:58
MikroAcse вне форума Посмотреть профиль Отправить личное сообщение для MikroAcse Найти все сообщения от MikroAcse
  № 10  
Ответить с цитированием
MikroAcse
 
Аватар для MikroAcse

Регистрация: Feb 2012
Сообщений: 1,540
Код AS3:
var all:Vector.<String> = new Vector.<String>;
var n:String = test1;
myTextField.text = n;
myTextField.addEventListener(Event.CHANGE,changed);
 
function changed(e:Event):void {
     all.push(myTextField.text);
     tf.text = all.join(',');
}
По-моему, так

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

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

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


 


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


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