Когда кнопка мыши нажата, мы можем сделать цикл по всем шарам на экране, используя ActionScript, выполняя оператор hitTest() для каждого воздушного шара, определяя, произошли ли какие-либо столкновения между курсором мыши и воздушным шаром. Ниже приведен код ActionScript, использованный в этом примере.
1 //Количество шаров для создания
2 totalBalloons =10;
3 //Установите размеры экрана, чтобы мы могли случайным образом размещать шары
4 screenWidth =700;
5 screenHeight =400;
6 //Создайте и разместите экземпляры шаров в сцене
7 for (var i =0;i<totalBalloons;++i){
8 var name ="balloon"+i;
9 _root.attachMovie("balloon",name,i);
10 var x =random(screenWidth);
11 var y =random(screenHeight);
12 _root [name ]._x =x;
13 _root [name ]._y =y;
14 }
15 _root.onMouseDown =function(){
16 mx =_xmouse;
17 my =_ymouse;
18 //Пройдите в цикле по всем шарам для определения столкновения
19 for (var i =0;i<totalBalloons;++i){
20 var name ="balloon"+i;
21 if (_root [name ].hitTest(mx,my)){
22 _root [name ].play();
23 }
24 }
25 };
Вторая строка вышеприведенного кода устанавливает переменную с именем totalBalloons. Значение этой переменной определяет, сколько воздушных шаров будет создано и размещено в сцене. Строки 4-14 создают и размещают шары в сцене. Строки 19-24 содержат цикл ActionScript, который проверяет столкновение с каждым шаром. Шары, которые созданы (в строках 4-14) названы соответственно (balloon0, balloon1, balloon2, и так далее). В этом цикле, мы динамически создаем имя каждого из этих шаров и используем эти имена для обращения к клипам, проверяя, дает ли оператор hitTest() значение true для этого клипа. Например, если цикл находится на шаге 12, то созданное имя будет balloon12. Поскольку значение имени «balloon12», то оператор _root [name ] эквивалентно записи _root.balloon12. Так в этих циклах динамически создаются ссылки на клипы.
Обзор ActionScript
attachMovie() и идентификаторы связывания
С помощью ActionScript вы можете создавать новый экземпляр клипа в сцене, который является файлом из библиотеки Flash