by
kirupa | 8 December 2009
In the
previous page, you setup your stage and created
the Snowflake movie clip. In this page, let's create the
class file the movie clip will refer to.
Ok, let's create this class file once and get it over with:
- From inside Flash CS4, go to File | New to display
the New Document dialog.
- Once the New Document dialog has been launched,
select ActionScript File from the list of document types
listed:
[ create a new ActionScript File ]
- With the ActionScript File type selected,
click OK to create the new file. The New Document window
will disappear and you will see the class file created
and opened for you:
[ the blank code editor represents your class file ]
- This ActionScript file doesn't actually
live on your disk yet. It is just something that you see
in Flash, so let's make it permanent by saving it. Go to
File | Save to launch the Save As dialog. Browse to the
directory your current Flash (FLA) file is in and give
your file the name Snowflake:
[ gives this class file the name Snowflake - with the
capital 'S' ]
Note, it is extremely important
that you save your Snowflake ActionScript file in the same
directory your Flash source file is in. For example, here is
my directory where the FLA file and the AS file are stored:
[ the FLA and the AS file are in the same folder - such a
happy family ]
- Go back into Flash and make sure your
Snowflake AS file is currently open for editing. Right
now, it is just a blank document with nothing in it.
Let's go ahead and add the code that makes it all work.
Copy and paste the following code into your
Snowflake AS file:
- package
- {
- import
flash.display.*;
- import
flash.events.*;
-
- public
class
Snowflake
extends
MovieClip
- {
- private
var
xPos:Number
=
0;
- private
var
yPos:Number
=
0;
-
- private
var
xSpeed:Number
=
0;
- private
var
ySpeed:Number
=
0;
-
- private
var
radius:Number
=
0;
-
- private
var
scale:Number
=
0;
- private
var
alphaValue:Number
=
0;
-
- private
var
maxHeight:Number
=
0;
- private
var
maxWidth:Number
=
0;
-
- public
function
Snowflake()
- {
-
SetInitialProperties();
- }
-
- public
function
SetInitialProperties()
- {
- //Setting the
various parameters that need tweaking
- xSpeed
= .05
+
Math.random()*.1;
- ySpeed
= .1
+
Math.random()*3;
- radius
= .1
+
Math.random()*2;
- scale
= .01
+
Math.random();
- alphaValue
= .1
+
Math.random();
-
- var
stageObject:Stage
=
this.stage
as
Stage;
- maxWidth
=
stageObject.stageWidth;
- maxHeight
=
stageObject.stageHeight;
-
- this.x
=
Math.random()*maxWidth;
- this.y
=
Math.random()*maxHeight;
-
- xPos
=
this.x;
- yPos
=
this.y;
-
- this.scaleX
=
this.scaleY
=
scale;
- this.alpha
=
alphaValue;
-
- this.addEventListener(Event.ENTER_FRAME,
MoveSnowFlake);
- }
-
- function
MoveSnowFlake(e:Event)
- {
- xPos
+=
xSpeed;
- yPos
+=
ySpeed;
-
- this.x
+=
radius*Math.cos(xPos);
- this.y
+=
ySpeed;
-
- if
(this.y
-
this.height
>
maxHeight)
- {
- this.y
=
-10
-
this.height;
- this.x
=
Math.random()*maxWidth;
- }
- }
- }
- }
- If you save your class file and test your
movie out, you'll see your lone little snowflake slowly
oscillating its way down.
Wow, you covered quite a bit of ground this page. All of
this has basically allowed you to have one snowflake fall.
Don't worry, there is more, so let's look at how to turn
your single snowflake into a mild winder storm on the
next page.
Onwards to the
next page!
|