(category) LIST of posts

Class A B C

Dette er en skabelon til en class. Actioncript-filen hedder: ABC.as.

Bemærk fil-navnet, class-navnet og constructor-navnet – som altid skal være ens.

A- B- C- D- er betegnelsen for niveauer, jeg vil referere til for at tydeliggøre strukturen i actionscript og for at gøre det nemt at implementere funktionalitet – (fx. fra andre poster i snippet-kategorien).

package {
    // ::: A ::: // flAAsh clAAsses importeres
    import flash.display.MovieClip;
 
    public class ABC extends MovieClip {       
        // ::: B ::: // variaBBler og oBBjekter BBliver BBrugbare i kommende funktioner
 
        public function ABC() {
        // ::: C ::: // CConstruCCtor - Indledende handlinger
 
        }
        // ::: D ::: // DDiverse funktioner DDu laver DDem
 
    }
}

Emner:
Linke til flash fil, movieclip, instanciering
Samme struktur på en framescript – forskelle – fordele / ulemper
OOP. Genbrug, uden copy-paste. Inheritance, Encapsulation & Polymorphism
Public, Private, Protected, Internal: Access Modifiers

Drop_and_Catch classes

fruit class

package {
	import flash.display.MovieClip;
	import flash.events.*;
	public class fruit extends MovieClip {
		var ySpeed;
		var points;
		public function fruit() {
		}
		function INIT() {
			position();
			addEventListener(Event.ENTER_FRAME, update);
		}
		function update(e:Event) {
			y+=ySpeed;
			if (y>stage.stageHeight) {
				position();
			}
		}
		function position() {
			y=0;
			x=Math.random()*stage.stageWidth-width;
			ySpeed=(Math.random()*10)+2;
		}
		function EXIT() {
			removeEventListener(Event.ENTER_FRAME, update);
		}
	}
}

basket class

package {
	import flash.display.MovieClip;
	import flash.events.*;
	public class basket extends MovieClip {
		public function basket() {
			INIT();
		}
		function INIT() {
			addEventListener(Event.ENTER_FRAME, update);
		}
		function update(e:Event) {
			x=stage.mouseX;
			y=stage.stageHeight-height;
		}
		function EXIT() {
			removeEventListener(Event.ENTER_FRAME, update);
		}
	}
}

doc class

package {
	import flash.display.MovieClip;
	import flash.events.*;
	import flash.ui.Mouse;
	public class doc extends MovieClip {
		var hart=new fruit  ;
		var knife=new fruit  ;
		var ourBasket=new basket  ;
		var score:int=0;
		public function doc() {
			stop();
			INIT();
			buttonMode=true;
		}
		function INIT() {		
			score=0;
			Mouse.hide();
			addChild(hart);
			hart.gotoAndStop("hart");
			hart.points=10;
			hart.INIT();
			addChild(knife);
			knife.gotoAndStop("knife");
			knife.points=-10;
			knife.INIT();
			addChild(ourBasket);
			ourBasket.INIT();
			addEventListener(Event.ENTER_FRAME, update);
		}
		function update(e:Event) {
			testCollision(hart);
			testCollision(knife);
		}
		function testCollision(someFruitName) {
			if (someFruitName.hitTestObject(ourBasket)) {
				score+= someFruitName.points;
				someFruitName.position();
				result();
			}
		}
		function result() {
			trace("Du har " + score + " points");
			if (score>20) {
				EXIT();
				gotoAndStop("win");
			}
			if (score<-20) {
				EXIT();
				gotoAndStop("lose");
			}
		}
		function EXIT() {
			Mouse.show();
			removeEventListener(Event.ENTER_FRAME, update);
			removeChild(hart);
			hart.EXIT();
			removeChild(knife);
			knife.EXIT();
			removeChild(ourBasket);
			ourBasket.EXIT();
		}
		function goGame(e:MouseEvent) {
			gotoAndStop("game");
			INIT();
		}/**/
	}
}

Bat_Ball classes

bat class

package {
	import flash.display.MovieClip;
	import flash.events.*;
	public class bat extends MovieClip {
		public function bat() {
			//INIT();
		}
		function INIT() {
			addEventListener(Event.ENTER_FRAME, update);
		}
		function update(e:Event) {
			y= stage.stageHeight-(height/2);
			x= stage.mouseX;
		}
		function EXIT() {
			removeEventListener(Event.ENTER_FRAME, update);
		}
	}
}

ball class

package {
	import flash.display.MovieClip;
	import flash.events.*;
	public class ball extends MovieClip {
		var xSpeed=10;
		var ySpeed=10;
		var margin=width/2;
		public function ball() {
			//INIT();
		}
		function INIT() {
			y=0+margin;
			addEventListener(Event.ENTER_FRAME, update);
		}
		function update(e:Event) {
			if (x<0+margin) {
				x=0+margin;
				xBounce();
			}
			if (x>stage.stageWidth-margin) {
				x=stage.stageWidth-margin;
				xBounce();
			}
			if (y<0+margin) {
				y=0+margin;
				yBounce();
			}
			if (y>=stage.stageHeight) {
				y=0+margin;
			}
			x+=xSpeed;
			y+=ySpeed;
		}
		function xBounce() {
			xSpeed=xSpeed*-1;
			gotoAndPlay("pong");
		}
		function yBounce() {
			ySpeed=ySpeed*-1;
			gotoAndPlay("pong");
		}
		function EXIT() {
			removeEventListener(Event.ENTER_FRAME, update);
		}
	}
}

doc class

package {
	import flash.display.MovieClip;
	import flash.events.*;
	import flash.text.*;
	public class doc extends MovieClip {
		var ourBat = new bat();
		var ourBall = new ball();
		var score:int;
		var points:int=1;
		var scoreMIN:int=-2;
		var scoreMAX:int=2;
		public function doc() {
			stop();
			//INIT();
			back_but.addEventListener(MouseEvent.CLICK, goGame);
		}
		function INIT() {
			score=0;
			score_txt.text=score+" points yet";
			addChild(ourBat);
			ourBat.INIT();
			addChild(ourBall);
			ourBall.INIT();
			addEventListener(Event.ENTER_FRAME, update);
		}
		function update(e:Event) {
			if (ourBall.hitTestObject(ourBat)) {
				ourBall.yBounce();
				score+=points;
			}
			if (ourBall.y>stage.stageHeight) {
				score-=points;
			}
			result();
		}
		function result() {
			//trace("Du har " + score + " points");
			score_txt.text="points: "+score+" out of "+scoreMAX ;
			if (score==scoreMAX) {
				EXIT();
				gotoAndStop("win");
			}
			if (score==scoreMIN) {
				EXIT();
				gotoAndStop("lose");
			}
		}
		function EXIT() {
			removeEventListener(Event.ENTER_FRAME, update);
			removeChild(ourBat);
			ourBat.EXIT();
			removeChild(ourBall);
			ourBall.EXIT();
		}
		function goGame(e:MouseEvent) {
			gotoAndStop("game");
			INIT();
		}/**/
	}
}