Comunidad de diseño web y desarrollo en internet online

Problema con SharedObject para mostrar puntuación

Citar            
MensajeEscrito el 04 Oct 2010 11:54 pm
Buenas,

Sigo mi periplo para mostrar una puntuación y almacenarla si supera a la que había.

Antecedentes:

Tengo la función gameScore que me devuelve una puntuación que se va acumulando, y me la muestra en el objeto scoreDisplay sin problemas a lo largo del juego.

Tengo una caja de texto para mostrar la puntuación obtenida (la misma que se muestra en scoreDisplay) llamada finalDisplay, y otra que debe mostrar la máxima puntuación obtenida (almacenada mediante SharedObjects) llamada bestDisplay.

Mi código es el siguiente:

Código ActionScript :

      public function record( gameScore:Number ):void
      {
         var puntuacion:SharedObject = SharedObject.getLocal("puntos");
         finalDisplay.text = String(gameScore);
         try
         {
            if (puntuacion.data.bestScore == null)
            {
               puntuacion.data.bestScore = gameScore;
            }
            else if ( gameScore > puntuacion.data.bestScore )
            {
               puntuacion.data.bestScore = gameScore;
            }
            bestDisplay.text = puntuacion.data.bestScore.toString();
            puntuacion.flush();
         }
         catch (sharedObjectError:Error)
         {
            trace( "Caught this error:", sharedObjectError.name, sharedObjectError.message );
            bestDisplay.text = "???";
         }
      }


He llegado aquí mediante un tutorial, pero no me da fallos el depurador y no funciona.

Agradecería cualquier ayuda ;-)

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 05 Oct 2010 02:06 pm
¿Que fallos?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 05 Oct 2010 02:12 pm
Disculpa Jorge, ya no hay fallos (fue un fallo de sintaxis).

El problema es simplemente que no consigo obtener la puntuación en bestDisplay y que la guarde mediante SharedObjects.

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 05 Oct 2010 03:03 pm
Para probar si la función que posteaste anda hice esto:

- Copie la función a un nuevo fla
- Cree dos campos de texto bestDisplay.text y finalDisplay.text
- agregué una llamada record(40) y publiqué
- Cambié la llamada a record(10) y publiqué

En el primer caso vez en los dos campos 40, en el segundo 10 y 40, es decir lo está guardando

Pruébalo solo, una vez que ves que funciona, integralo cuidadosamente en tu película

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 05 Oct 2010 08:14 pm
No termina de funcionarme... :(

¿Cómo llamaste a record(40) o record(10)?

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 05 Oct 2010 09:01 pm
debajo de la función, tal cual la pusiste agregué:

record(40)

Publico y miro que pasa
cambio a

record(10)

publico y miro que pasa

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 05 Oct 2010 09:02 pm
ahhh....

Ok, gracias, voy a probarlo. :wink:

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 05 Oct 2010 09:14 pm
Perfecto!

Funciona. Ahora voy a integrarlo en el código del juego, a ver si puedo pasar la puntuación.

Mil gracias Jorge por tu tiempo y esfuerzo :wink:

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 05 Oct 2010 11:46 pm
Una última duda...

En el caso anterior hemos dado un valor (40 o 10) a la función, pero ¿se puede usar una variable, método, etc? Es que el valor en el juego lo obtengo desde otra función.

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 06 Oct 2010 12:38 am
Es que el código que funciona anterior, lo inserto en el juego y me da el fallo: Error #1180: Call to a possibly undefined method

No sé si tendrá que ver que el actionscript lo tengo en un archivo externo .as

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 06 Oct 2010 01:15 am
si se puede las funcion que pases como parametro debe devolver el tipo de dato que exige el metodo y si esta en una clase el metodo debes acceder a el instanciando la clase y usar sintaxis de punto ejemplo :

Código ActionScript :

package  {
   
   public class SomeClass {

      public function SomeClass() 
      {
         // constructor code
      }
      
      public function methodInClass(pValue:uint):uint
      {
         var val:uint = pValue * pValue;
         return val;
      }

   }
   
}



Código ActionScript :

var myClass:SomeClass = new SomeClass();

function methodLocal(pValue:uint):void
{
   trace(pValue);
}

methodLocal(myClass.methodInClass(2));


Jonathan

Por maneuver

243 de clabLevel



Genero:Masculino  

Mexico City

firefox
Citar            
MensajeEscrito el 06 Oct 2010 03:45 pm
Gracias Jonathan, me es de mucha utilidad ;-)

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.