practicing Classes : Inheritance + linking Classes

(download)

////////////// BALL CLASS ////////////////////


 
 
package { 
	import flash.display.MovieClip; 
	import flash.events.Event; 
 
	public class Ball extends MovieClip { 
 
		private var _speed:Number; 
		private var _rightEdge:Number; 
		private var _clip1:MovieClip; 
		private var _clip2:MovieClip; 
 
 
		public function Ball(num:Number, num2:Number, clip1:MovieClip, clip2:MovieClip) { 
			this.addEventListener(Event.ENTER_FRAME,onLoop); 
			_speed=num; 
			_rightEdge=num2; 
			_clip1=clip1; 
			_clip2=clip2; 
 
		} 
		private function onLoop(evt:Event) { 
			this.x+=_speed; 
			if (this.x>=_rightEdge) { 
				this.removeEventListener(Event.ENTER_FRAME,onLoop); 
				_clip1.visible=true; 
				_clip2.visible=true; 
 
 
			} 
 
		} 
		public function growIt(scale:Number,tint:Number) { 
			this.scaleX=this.scaleY=scale; 
			this.alpha=tint; 
 
 
		} 
	} 
 
 
} 
 


////////////// NAV CLASS ////////////////////

 
 
package { 
	import flash.display.MovieClip; 
	import flash.events.Event; 
	import flash.events.MouseEvent; 
	import flash.filters.BlurFilter; 
	 
 
	public class Nav extends MovieClip { 
		 
		 
		var blur:BlurFilter = new BlurFilter(); 
		 
		 
		public function Nav() { 
			this.addEventListener(MouseEvent.ROLL_OVER, onOver); 
			this.addEventListener(MouseEvent.ROLL_OUT, onOut); 
			this.buttonMode = true; 
			 
		} 
		private function onOver(evt:MouseEvent){ 
			this.filters = [blur]; 
			 
		} 
		private function onOut(evt:MouseEvent){ 
			this.filters = []; 
		} 
	} 
} 
 
 
 


////////////// SUB CLASS ////////////////////

 
 
 
package { 
 
	import flash.display.MovieClip; 
	import flash.events.Event; 
	import flash.events.MouseEvent; 
 
	public class Sub extends Nav { 
 
		public function Sub() { 
 
			setUpEents(); 
		} 
 
		private function setUpEents() { 
 
			this.addEventListener(MouseEvent.ROLL_OVER,onOver); 
			this.addEventListener(MouseEvent.ROLL_OUT,onOut); 
 
		} 
		private function onOver(evt:MouseEvent) { 
			this.scaleX=scaleY=1.05; 
		} 
		private function onOut(evt:MouseEvent) { 
			this.scaleX=scaleY=1; 
		} 
 
 
	} 
} 
 
 
 


////////////// fla file ////////////////////

 
 
var nav:MovieClip = new Nav(); 
nav.x=225; 
nav.y=50; 
addChild(nav); 
nav.visible = false; 
 
var sub:MovieClip = new Sub(); 
sub.x=nav.x; 
sub.y=nav.y+nav.height+13; 
addChild(sub); 
sub.visible = false; 
 
 
 
var ball:MovieClip=new Ball(5,stage.stageWidth-38, nav, sub); 
ball.x=70; 
ball.y=200; 
addChild(ball); 
ball.addEventListener(MouseEvent.CLICK, onClick); 
 
 
function onClick(evt:MouseEvent) { 
	ball.growIt(1.7, 0.2); 
 
}