practicing Classes : Inheritance + linking Classes
////////////// 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);
}
