Russian version
English version
ОБ АЛЬЯНСЕ | НАШИ УСЛУГИ | КАТАЛОГ РЕШЕНИЙ | ИНФОРМАЦИОННЫЙ ЦЕНТР | СТАНЬТЕ СПОНСОРАМИ SILICON TAIGA | ISDEF | КНИГИ И CD | ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ | УПРАВЛЕНИЕ КАЧЕСТВОМ | РОССИЙСКИЕ ТЕХНОЛОГИИ | НАНОТЕХНОЛОГИИ | ЮРИДИЧЕСКАЯ ПОДДЕРЖКА | АНАЛИТИКА | КАРТА САЙТА | КОНТАКТЫ
 
Программное обеспечение
 
Для зарегистрированных пользователей
 
РАССЫЛКИ НОВОСТЕЙ
IT-Новости
Новости компаний
Российские технологии
Новости ВПК
Нанотехнологии
 
Поиск по статьям
 
RSS-лента
Подписаться
Графика и изображения

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

www.flasher.ru

Первое, что я хочу сказать Вам, это чтоб Вы не пугались....всё не так страшно как кажеться.....на самом деле массивы - очень даже полезная и нужная вещь и вовсе не такая уж и сложная как кажетья на первый взгляд. Чтобы Вам было проще освоить этот материал, давайте сделаем небольшой примерчик.
Что же мы будем делать. Мы сделаем маленький эффект. Эффект печатной машинки. Я видел как некоторые делали это покадрово и вот тогда мне в голову пришла идея написать этот урок. Есть несколько способов сделать такой эффект. Способ первый - это просто поместить в первый кадр одну букву, во 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" представляет собой нечто вроде этого:

[Image]

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

[Image]

При этом каждой букве соответствует номер и 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 (я там правда редко бываю...тока по выходным).


  Рекомендовать страницу   Обсудить материал Написать редактору  
  Распечатать страницу
 
  Дата публикации: 29.09.2006  

ОБ АЛЬЯНСЕ | НАШИ УСЛУГИ | КАТАЛОГ РЕШЕНИЙ | ИНФОРМАЦИОННЫЙ ЦЕНТР | СТАНЬТЕ СПОНСОРАМИ SILICON TAIGA | ISDEF | КНИГИ И CD | ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ | УПРАВЛЕНИЕ КАЧЕСТВОМ | РОССИЙСКИЕ ТЕХНОЛОГИИ | НАНОТЕХНОЛОГИИ | ЮРИДИЧЕСКАЯ ПОДДЕРЖКА | АНАЛИТИКА | КАРТА САЙТА | КОНТАКТЫ

Дизайн и поддержка: Silicon Taiga   Обратиться по техническим вопросам  
Rambler's Top100 Rambler's Top100