Bobbing Fish: Creating a Bobber Class

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.


Get Adobe Flash player

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;
	}
}

INDEX, Creating a Bobbing Action, One Bobbing Fish, Code for Bobbing Fish, Creating the Bobbing Class, Using the class
Next lesson: Loops

Copyright © Zebra0.com
All rights reserved worldwide.

 
 

Creating a Bobbing Action