Cómo guardar y cargar un número entero con PlayerPrefs en Unity

Por GameDevTraum

Introducción

Vamos a ver cómo guardar números enteros en Unity utilizando la clase PlayerPrefs, los cuales se almacenan en variables tipo int, luego veremos cómo cargar este número entero.

Este método te será útil para guardar el score o puntuación en Unity, si esa puntuación está representada por un número entero por supuesto.

Cómo guardar un número entero con PlayerPrefs

Para guardar un número entero en Unity usando PlayerPrefs vamos a usar el método estático “SetInt”, una función que necesita que le demos dos parámetros.

El primer parámetro es un string con el nombre que va a tener esta variable que vamos a almacenar, esto permitirá que luego lo podamos recuperar. El segundo parámetro es el valor entero que queremos guardar.

La instrucción que hará el guardado de los datos en Unity se vería de la siguiente forma:

PlayerPrefs.SetInt(“nombreDatoEntero”,numeroEntero);

En este caso indicamos el nombre del dato entre comillas porque es un string, el segundo parámetro lo indicamos utilizando una variable tipo “int”.

Cómo cargar un número entero con PlayerPrefs

Para cargar un número entero en Unity usando PlayerPrefs vamos a usar el método estático “GetInt”, una función que se puede usar de dos formas distintas.

En la primer forma le damos un parámetro que va a ser el nombre del dato que queremos recuperar, el nombre que le dimos cuando ejecutamos la función “SetInt” que vimos anteriormente. Lo hacemos de la siguiente forma.

numeroEntero=PlayerPrefs.GetInt(“nombreDatoEntero”);

La ejecución del método estático “GetInt” de PlayerPrefs dá como resultado un número entero, es por eso que se lo asigna a la variable “numeroEntero” en la instrucción de arriba.

La segunda forma consiste también en darle el nombre del dato que utilizamos en la ejecución de “SetInt” pero además damos un valor por defecto que se utilizará en caso de que no haya un dato guardado bajo ese nombre, esto se hace de la siguiente forma.

numeroEntero=PlayerPrefs.GetInt(“nombreDatoEntero”,0);