., . ActionScript 3
.
!. ( 700 500), =25. Main , , ( - ...)
2. ( 4 , ). , , ( ),

( : ) F8; ) - ; ) ) flake0, ActionScript

,

. flake1; flake2; flake3 .. ActionScript.
3. , ( ), () , headTxt ActionScript ( ), ( , ).

4. ( - . ), , content ( ).
5. () 2 as. , Main.as ( ) Flake.as ( ). -

6. Flake.as ( )
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
//
public class Flake extends Sprite {
//
private var sn:MovieClip;
//
private var ymax:Number;
//
private var x0:Number;
// -
private var speed:Number;
// ( )
private var angle:Number;
//.
private var scale:Number;
//
private var tim:Timer;
//
private var targ:MovieClip;
// ,
private var movingFlag:int;
///
private var stopDelay:Number
//
//.
public function Flake(arg:MovieClip):void {
//
sn=arg;
sn.cacheAsBitmap=true;
//
speed=100;
angle=0;
scale=1;
movingFlag=1;
// .
addChild(sn);
//
tim=new Timer(speed);
//.
//
addEventListener(Event.ADDED_TO_STAGE, init);
//
tim.addEventListener(TimerEvent.TIMER, moving);
}
// () .
// ( )
public function set _speed(arg:Number):void {
speed=arg;
tim.delay=speed;
stopDelay=speed;
}
//
public function set _angle(arg:Number):void {
angle=arg;
}
//
public function set _scale(arg:Number):void {
scale=arg;
this.scaleX=this.scaleY=scale;
}
//
public function set _target(arg:MovieClip){
targ=arg;
}
//
/* , .
, - , , .*/
private function init(e:Event) {
ymax=stage.stageHeight;
x0=this.x;
tim.start();
}
/* .
, , */
private function moving(e:TimerEvent) {
/* . , , . movingFlag=0, */
this.y>ymax?this.y=-10:this.y+=2*movingFlag;
/* . , , */
this.x=x0+Math.sin(angle/180*Math.PI)*80;
//
angle+=scale*2*movingFlag;
angle%=360;
/* , .
, */
targ==null?null:targ.hitTestPoint(this.x, this.y, true)?movingFlag=0:movingFlag=1;
/* , . ,
, */
!movingFlag?stopDelay?stopDelay--:movingFlag=1:stopDelay=speed;
}
}
}
7. - ...
Flake.as . , Main.as, :
package{
import flash.display.*;
public class Main extends Sprite{
public function Main():void{
var sn:Flake=new Flake(new flake0());
sn.x=200;
sn.y=10;
addChild(sn)
}
}
}
. , , , , Main.as .
8. Main.as (, ).
10. - ...
. fla ( - ...) swf ( - - ). .