Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

   Интернет технологии -> Flash -> Flash. Введение в массивы


Flash. Введение в массивы

Первое, что я хочу сказать Вам, это чтоб Вы не пугались....всё не так страшно как кажеться.....на самом деле массивы - очень даже полезная и нужная вещь и вовсе не такая уж и сложная как кажетья на первый взгляд. Чтобы Вам было проще освоить этот материал, давайте сделаем небольшой примерчик.
Что же мы будем делать. Мы сделаем маленький эффект. Эффект печатной машинки. Я видел как некоторые делали это покадрово и вот тогда мне в голову пришла идея написать этот урок. Есть несколько способов сделать такой эффект. Способ первый - это просто поместить в первый кадр одну букву, во 2-й две, в 3-й три и.т.д и если Вы сторонник этого "метода", то дальше можете не читать. Второй способ добиться такого эффекта, использовать ф-цию substring (и во всех примерах которые мне попадались я встречал именно этот метод), но поскольку в этом уроке речь идёт о массивах, то мы будем использовать третий метод с использованием массива.
Итак приступим. Открываем Flash5 редактор и создаём новый клип. В клипе создаём два слоя (один для скрипта, второй для графики). В слое для графики разместите текстовое поле, в его опциях укажите, что оно "Dynamic Text" и дайте ему имя "text". В этом поле и будет анимироваться наша надпись. По части графики это всё. Теперь переходим к скриптам.
В первом кадре слоя для скриптов поместите такой код:
-----------------------
i=0;
-----------------------
я думаю что это не требует объяснений.
Во втором кадре этого же слоя поместите следующий код:
---------------------------------------------------------------------------------
test = new Array('H', 'e', 'l', 'l', 'o ', 'w', 'o', 'r', 'l', 'd');
_root.text = _root.text+test[i];
--------------------------------------------------------------------------------
Код тоже небольшой, но требует объяснения.
В первой строке мы объявляем массив с именем "test" и вписываем в каждую его ечейку по букве. Чтобы Вам было понятней что мы сейчас сделали, я немного подробнее расскажу про массивы.
массив с именем "test" представляет собой нечто вроде этого:



где цифры - это элементы (ечейки) массива. Теперь в каждую ечейку мы заносим букву. Теперь это выглядит так:



При этом каждой букве соответствует номер и Flash это "знает".
Надеюсь, что смог дать Вам примерное представление о работе массива. Теперь смотрим на 2-ю строчку кода.
--------------
_root.text = _root.text+test[i];
-------------
эта строка несколько проще предыдущей. "_root.text" это наше текстовое поле. "=" - оператор присваивания. Значит текстовому полю присваеваеться значение того, что стоит за знаком равно. А там стоит следующее:
----------
_root.text+test[i];
----------
это значит, что полю присваеваиться (оставляется) его старое значение (т.е. то, что там было до) + элемент массива. Припомним чему у нас равно "i"......правильно "0", а это значит, что в поле попадает какой элемент массива?...правильно нулевой. А что у нас в нулевом элементе?....правильно буква "H". Значит поле отобразит эту букву.
Теперь переходим к четвёртому кадру слоя для скриптов. Там создаём ключевой кадр и помещаем туда такой скрипт:
-----------------------------
if (i>=test.length) {
stop ();
} else {
i++;
gotoAndPlay (2);
}
-----------------------------
Это значит следующее:
if - условный оператор (если Вы читаете этот урок, то думаю знаете что это, а если не знаете, то прочтите Help).

i>=test.length - проверка того больше ли значение "i" длинны массива (ф-ция length возвращает длинну массива).
stop - оператор останова.
т.е если всё выведенно, остановиться.
else - сюда перходит управление если условие оказываеться ложным.
i++ - увеличивает значение "i" на единицу (это надо для того, чтобы полю присваивались разные значения, а не одно и тоже).
gotoAndPlay (2); - передаёт управление 2 кадру (второму а не 1-му т.к значение "i" должно увеличиваться, а не скакать с 0 на 1).
вот и весь код.....теперь можно запустить мувик на выполнение и если всё правильно, вы увидите как на экране одна за другой появляються буквы. Чтобы уменьшить скорость "печатания", достаточно передвинуть 4 кадр в более правое положение.
Надеюсь, что хоть отчасти объяснил Вам что такое массивы, как они работают и вообще с чем это едят. Хочу напомнить, что это далеко не все возможности массивов и сдесь предел только ваша фантазия.


P.S. Если что-то не получаеться сверьтесь с исходником, а если и это не помогает, пишите на мыло или в ICQ (я там правда редко бываю....тока по выходным).

Автор: *JeF*
Источник: www.dweb.ru

Ссылки по теме
Создаем полосу прокрутки в Flash МХ
Работаем с Flash: оригинальные текстовые эффекты
Создание элементов сайтов с использованием Flash
Передача данных из Flash в серверные сценарии
 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
 
Это интересно
 

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.