Clase para Manejo de Puntajes en ActionScript 3 | Phoxer.com
Clase para Manejo de Puntajes en ActionScript 3
14/11/2010

Una de las cosas mas importante de los juegos son la parte de los puntajes!! Por eso he desarrollado una clase especial para el manejo de los mismos.

Asi funciona mi clase ScoreManager:

/**
By ::[PHOXER]::
http://www.phoxer.com
v 1.2;
*/
package phoxer.Games{
	public class ScoreManager{
		private var score:Number;
		public var intigers:Number=0;
		public var isFloat:Boolean=false;
		public var btwChar:String=",";
		public var minNum:Number=Number.MIN_VALUE;
		public var maxNum:Number=Number.MAX_VALUE;
		public var backMinNum:Function=null;
		public var backMaxNum:Function=null;
		public var backScore:Function=null;
		public var limitMaxMin:Boolean=true;
		public function ScoreManager(){
			score=0;
		}
 
		public function setScore(sc:Number):void{
			score+=sc;			
			renderScore();
		}
 
		public function rebootScore(n:Number):void{
			score=n;
			renderScore();
		}
 
		//RETURNS
		public function getScore():Number{
			return score;
		}
		public function getStringScore():String{
			return codeToString();
		}
 
		private function renderScore():void{
			//back Min Max
			if(score<=minNum){
				if(limitMaxMin){
					score=minNum;
				}
				if(backMinNum!=null){
					backMinNum();
				}
			}
			if(score>=maxNum){
				if(limitMaxMin){
					score=maxNum;
				}
				if(backMaxNum!=null){
					backMaxNum();
				}
			}
			if(backScore!=null){
				backScore(score,codeToString());
			}
 
		}
 
		private function codeToString():String{
			var ints:String="";
			var sc:int=score.toString().length;
			if(intigers>sc){
				for(var i:int=0;i<(intigers-sc);i++){
					ints+="0";
				}
			}
			return String(ints+score);
		}
	}
}


Luego podemos implementear la clase de esta manera simple:

import phoxer.Games.ScoreManager;
 
var score:ScoreManager = new ScoreManager();
score.minNum=0;
score.backScore = onScoreChange;
 
function onScoreChange(sc:Number,stc:String):void{
	trace(stc); //devuelve la puntuacion
}
 
scr.setScore(10);


Gracias a esta clase he desarrollado todos mis juegos facilitandome mucho la parte de los puntajes.

He desarrollado un juego parecido al Asteroids con esta clase:


Aqui pueden ver mas juegos desarrollados por mi utilizando la clase de Puntajes:
www.BeatsGames.com -Mi pagina de juegos
BeatsGames -Mis Juegos en Facebook