Показать сообщение отдельно
Старый 05.06.2002, 15:58
netstuff вне форума Посмотреть профиль Отправить личное сообщение для netstuff Найти все сообщения от netstuff
  № 1  
netstuff
 
Аватар для netstuff

Регистрация: Apr 2001
Адрес: San Pietroburgo
Сообщений: 1,408
ну, давай разбираться:

textVar - переменная, содержащая текст;
textArray - массив, в котором текст разбит по знакам (буквам);
textField - текстовое поле (Dynamic), находящееся например в корне фильма (_root);

На таймлайне создаешь два слоя: верхний содержит textField, в нижнем - ActionScript;

Нижний слой разбит на три кадра (keyframes), следующих строго друг за другом (#1, #2, #3).

В первом кадре (#1) определяем переменную:
textVar = "Это текст, который мы будем выводить на экран";

textArray = textVar.split(""); // split - функция, разбивающая строку в массив по определителю (в скобках), у нас определитель не задан - значит разбиваем каждый элемент

i = 0; //переменная, которая поможет нам перебрать все элементы массива

-----------------------------------------------------------------
Во втором кадре (#2) начинается тот самый цикл, про который я говорил:

i++; //это тоже самое, что i = i + 1 - инкремент (последовательное увеличение переменной на еденицу
)
-----------------------------------------------------------------

В последнем (#3) кадре основное действие: последовательно присваиваем текстовому полю элемент-за-элементом:

if(i<textArray.length) { //проверяем, чтобы i вовремя остановилось (вовремя - это значит когда кончится массив)

_root.textField += textArray[i]; //последовательно прибавляем к текстовому полю элемент, индекс которого = i (помним, что i перебирается от начала до конца всего массива)

gotoAndPlay(2); //переходим на кадр увеличения i на еденицу - то есть это непосредственно действие, образующее цикл

}
else stop(); //как только i больше чем количество элементов массива - останавливаемся.
__________________
I denti non possono dire niente... senza la lingua...
Perche' la tua lingua e' mia!