Comunidad de diseño web y desarrollo en internet online

Mantener puntuación máxima en un juego (SharedObjects)

Citar            
MensajeEscrito el 29 Sep 2010 08:51 pm
Buenas,

Mirando tutoriales y documentación sobre SharedObjects, no me queda muy claro cómo implementarlo.

Según un tutorial el código sería:

public function setFinalScore( scoreValue:Number ):void
{
sharedObject.clear();
finalScore.text = scoreValue.toString();
if ( sharedObject.data.bestScore == null )
{
sharedObject.data.bestScore = scoreValue;
}
else if ( scoreValue > sharedObject.data.bestScore )
{
sharedObject.data.bestScore = scoreValue;
}
bestScore.text = sharedObject.data.bestScore.toString();
sharedObject.flush();
}


para lo que he creado una función que define el archivo (topscore) al que se accederá para leer y grabar datos:

public function Scores()
{
sharedObject = SharedObject.getLocal( "topscore" );
}


El problema es que hace referencia a otras funciones de otros archivos .as pues el juego es complejo.

Mi juego es más sencillo y contiene estos elementos como principales:

La variable gameScore

private var gameScore:int;


Y una función que acumula las puntuaciones y las muestra en un objeto de tipo texto dinámico llamado (bueno, nombrado como instancia) scoreDisplay

public function addScore(numPoints:int) {
gameScore += numPoints;
MovieClip(root).scoreDisplay.text = String(gameScore);
}


También tengo dos objeto de texto dinámico (nombres de instancias) llamados finalScore y bestScore

¿Cómo puedo enviar el valor de scoreDisplay (me funciona perfectamente recibiendo la puntuación durante el juego) a finalScore para de ahí generar el valor bestScore a través de SharedObject y que pueda ser almacenado?


Por si a alguien le interesa el tutorial (creación básica de un juego en Flash), puede visitarlo aquí: http://gamedev.michaeljameswilliams.com/2009/03/18/avoider-game-tutorial-11/

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

safari
Citar            
MensajeEscrito el 30 Sep 2010 02:36 am
No entiendo el problema, ¿que distintas pelis accedan al mismo SO? Si no es eso, intenta resumirlo en tres líneas

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 30 Sep 2010 12:01 pm
Buenas Jorge,

Gracias por tu tiempo y disculpa que no haya sido muy claro.

Básicamente, lo que quiero es tomar el valor de scoreDisplay (que me muestra la puntuación del juego) para que aparezca en otro objeto de texto dinámico llamado finalScore.

De esa forma, mediante SharedObjects puedo comparar el valor con un archivo interno generado por el mismo SharedObjects y puedo generar un High Score permanente.

Espero haberme explicado mejor.

Un saludo ;-)

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

safari
Citar            
MensajeEscrito el 30 Sep 2010 02:12 pm
Ok, ten en cuenta siempre que SO es una especie de cookie, es decir es válido para la gente que use una misma máquina, pero no es persistente entre distintos usuarios que no accedan a la misma máquina
Luego el SO es simplemente una forma de depositar información. En su forma mas simple:

- Al empezar el juego cargas el SO con los puntajes, digamos puntaje 1 a puntaje 10
- Si el SO aun no existe, inicias los 10 valores con 0
- Si el SO existe, ordenas los puntajes del mas alto al mas bajo
- Al terminar el juego tomas el score y comparas con los 10 que tienes, a ver en que posición va, luego descartas el último porque solo quieres 10
- Guardas el SO

Estas es la rutina que puedes utilizar para tu tabla de score desde el punto de vista lógico

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 04 Oct 2010 07:56 pm
Gracias Jorge ;-)

Tengo claro el método... ahora voy a pelearme con el código del que no soy muy amigo.

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

safari

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.