Подскачащи топки :)
Привет. Ето един кратък пример какво можем да направим с манипулаторите на събитие ..
1.Сложете фрейм рейт 50-60 .Нарисувайте нещо (например кръг 🙂 ) и го превърнете в moovie clip. Найменувайте го a_mc. Натиснете F9 докато е маркиран и сложете следния код отгоре :
onClipEvent (load) {
var speedX:Number = Math.random()*2+2;
var speedY:Number = Math.random()*2+2;
this._x = Math.random()*Stage.width;
this._y = Math.random()*Stage.height;
}
onClipEvent(enterFrame) {
this._x += speedX
this._y += speedY
if (this._x < 0 || this._x >Stage.width) {
speedX *=-1
}
if (this._y < 0 || this._y >Stage.height) {
speedY *=-1
}
}Кода във onClipEvent(load) ще се извърши всеки път, щом инстанция на този клип „влезе“ в сцената. В случая с 1 фрейм – само веднъж. Ще се създадат две променливи speedX , speedY, които по късно ще определят скоростта на движение. Задават се и прозиволни кординати за _x и _y
Кода във onClipEvent(onEnterFrame) ще се изпълни всеки път, като инстанция на този клип „влезе във фрейм“, т.е. 60 пъти в секунда. С this._x += speedX задаваме координатата на _x да расте със стойността на speedX (която ще е между 2 и 4). Същото ще става и с _y.
С if (this._x < 0 || this._x >Stage.width) {speedX *=-1} следим дали _x ще стане по малко от 0 или повече от големината на сцената. Ако това е така сменяме стойността на speedX и получаваме движение в обратна посока. Същото правим и с speedY.
Ето какво се получава.
- Сложете на фрейм едно следния код :
for (i=0; i<20; i++) {
duplicateMovieClip(a_mc, "a"+i+"_mc", this.getNextHighestDepth());
}Надявам се да ви е било полезно.
Наздраве.



