Интерактив часть 2

Следующим шагом будет создание травы, которую мы сможем срезать.

Создадим клип mcGrass. Нарисуем в нем травинку. Верхнюю половину преобразуем в клип с именем mc. Затем выделим всю травинку и сделаем из нее клип с именем mc0 (рисунок 43).

Рисунок 43. Клип травы.

Далее мы создадим дубликаты травинки, при наведении на которые будет убираться
верхняя часть (клип mc).

code frame 1
1  //открываем цикл
2  for(var i=1; i<15; i++){
3  //дублируем клип mcGrass.mc0
4  mcGrass.mc0.duplicateMovieClip(«mc»+i, i);
5  //ставим дубликат по оси x
6  mcGrass[«mc»+i]._x=i*mcGrass.mc0._widthrandom(8);
7  //случайное значение высоты травинки в пределах от 60% до 100%
8  mcGrass[«mc»+i]._yscale=60+random(40);
9  }
10  mcEvent.onRollOver=function(){
11  mc.startDrag(true);
12  Mouse.hide();
13  }
14  mcEvent.onRollOut=function(){
15  mc._x=100;
16  mc._y=130;
17  mc.stopDrag();
18  Mouse.show();
19  }

Результат

Далее нужно сделать проверку на пересечение ножниц и травинок, и когда оно есть, срезание травинки.

code frame 1
1  Stage.scaleMode = «noScale»;
2  Stage.align = «LT»;
3  //импорт классов для программной анимации
4  import com.greensock.*;
5  import com.greensock.easing.*;
6  //массив для хранения клипов травинок
7  var aMc:Array=new Array();
8  //запишем в массив первую травинку
9  aMc.push(mcGrass.mc0);
10
11  for(var i=1; i<15; i++){
12  mcGrass.mc0.duplicateMovieClip(«mc»+i, i);
13  mcGrass[«mc»+i]._x=i*mcGrass.mc0._widthrandom(8);
14  mcGrass[«mc»+i]._yscale=60+random(40);
15  //записываем дубликат в массив
16  aMc.push(mcGrass[«mc»+i]);
17  }
18
19  mcEvent.onRollOver=function(){
20  mc.startDrag(true);
21  Mouse.hide();
22  }
23  mcEvent.onRollOut=function(){
24  mc._x=100;
25  mc._y=130;
26  mc.stopDrag();
27  Mouse.show();
28  }
29  onEnterFrame=function(){
30  for(i=0; i<aMc.length; i++){
31  //проверка на пересечение травинки с точкой координат курсора мыши
32  if(aMc[i].hitTest(_root._xmouse, _root._ymouse, true)){
33  //анимируем верхнюю часть травинки
34  TweenNano.to(aMc[i].mc, 1, {_x:«-10» ,_y:«+40»,_rotation:50-random(100), _alpha:0, ease: Back.easeIn});
35  }
36  }
37  }

Автор: Юрий Гусак.