Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

Сортировка дублированных MovieClip с использованием двумерного массива

div.main {margin-left: 20pt; margin-right: 20pt}

Сортировка дублированных MovieClip с использованием двумерного массива

Этот урок базируется на предыдущем:"Сортировка дублированных MovieClip" и отличается от последнего только использованием двумерного массива.

Поэтому я не буду расписывать его подробно, а только укажу на детали, которые эти примеры отличают друг от друга.Вот подробный код:
//=====================================================================//
pos=[[50,50],[100,50],[150,50],[50,100],[100,100],[150,100],[50,150],[100,150],[150,150]];
for(i=1;i<=9;i++){
   a=random(pos.length);
   x=pos[a][0];
   y=pos[a][1];
   _root.attachMovie("ball", "ball"+i, i);
   eval("ball"+i)._x = x;
   eval("ball"+i)._y = y;
   eval("ball"+i).gotoAndStop(i);
   pos.splice(a, 1);
}
//=====================================================================//
В первой строке кода мы создаем двумерный массив "pos", который в каждом элементе массива содержит второй массив, с координатами для горизонтальной и вертикальной оси.

pos=[[50,50],[100,50],[150,50],[50,100],[100,100],[150,100],[50,150],[100,150],[150,150]];

можно писать и так, если вам привычнее:

pos=new Array();
pos[0]=new Array(50,50);
pos[1]=new Array(50,100);
pos[2]=new Array(50,150);
pos[3]=new Array(100,50);
pos[4]=new Array(100,100);
pos[5]=new Array(100,150);
pos[6]=new Array(150,50);
pos[7]=new Array(150,100);
pos[8]=new Array(150,150);

По сравнению с первой строкой выглядит "потяжелее". Оба блока кода работают одинаково, хотя Смольный (Smolniy), рекомендует воздерживаться от квадратных скобок...Соответственно первый элемент каждого маленького массивчика содержит горизонтальную координату, а второй - вертикальную.

a=random(pos.length);

С этой строкой мы уже встречались, она задавала нам номер позиции в массиве, откуда мы брали координаты. Сейчас, с её помощью, мы будем брать сразу пару координат.

x=pos[a][0];
y=pos[a][1];

А вот теперь мы определим переменные для горизонтальных и вертикальных координат: для этого мы из массива "pos" из элемента [a] берём значение элемента [0] для "x" и значение элемента [1] для "y".

eval("ball"+i)._x = x;
eval("ball"+i)._y = y;
eval("ball"+i).gotoAndStop(i);

Как и в предыдущем примере, задаём сдублированным мувикам их новые координаты, и останавливаем их на кадре с номером соответствующем переменной "i".

pos.splice(a, 1);

И последняя строка, которая убирает из массива "pos" элемент, содержащий "использованные" координаты, сокращая длину массива.
Ну вот и всё.

Удачи. =JVS©=
www.jvs.ru
jvsh@mail.ru



Автор: © JVSh
Источник: http://www.flasher.ru


  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2021
    Реклама на сайте