We will go through all the steps to creating a class.
I would like to create a bobbing action that I can use to animate a fish. I have started with just one fish and created a movie so that I can test some of the settings that I may want to change.
Download the demo movie.
This is the code for the demo movie:
//variables
var angle:Number=0;
var distance:Number=20; //how high up and down the y value goes
var origY:Number=fish.y; //where the fish started
var rate:Number=0.5; //how fast it bobs up and down, if 0 there is no bobbing
var speed:Number=5; //x distance fish moves
var turnAround:Boolean=false; //fish can leave and enter on other side or turnaround
//initialize
this.addEventListener(Event.ENTER_FRAME,frames);
btnChange.addEventListener(MouseEvent.CLICK, goChange);
//functions;
function frames(e:Event):void
{
fish.y = origY + Math.sin(angle) * distance;
angle = angle + rate;
fish.x += speed;
if (fish.x > stage.stageWidth + fish.width)
{//went off on right
if (turnAround)
{
fish.scaleX *= -1;//turn around or flip over horizontally
speed=speed*-1;
}
else
{
fish.x = 0 - fish.width;//reenter on left
}
}
if (fish.x < 0 - fish.width)
{//went off on left
if (turnAround)
{
fish.scaleX *= -1;//turn around
speed=speed*-1;
}
else
{
fish.x = stage.stageWidth + fish.width;//reenter on right
}
}
}//frames
function goChange(e:MouseEvent):void
{
distance = parseInt(lblDistance.text);
rate = parseInt(lblRate.text);
rate = Number(lblRate.text);
speed = parseInt(lblSpeed.text);
turnAround = chkTurnAround.selected;
if (speed<0)
{
fish.scaleX = -1;
}
else
{
fish.scaleX = 1;
}
}