¿Qué es el almacenamiento?

¿Qué es el almacenamiento?

XNA Game Studio 4.0
El almacenamiento se refiere a las ubicaciones de memoria usadas para la lectura y escritura de datos.

Ubicaciones de almacenamiento

Al programar con XNA Framework, se leen archivos desde dos ubicaciones generales:

  • Almacenamiento de títulos es el lugar en el que se ubican los archivos auxiliares y ejecutables del juego (sombreadores, mallas, texturas, etc.).
  • Almacenamiento de usuario es el espacio que ofrece un jugador para los datos del juego (tales como juegos guardados) que puede estar bloqueado para un perfil concreto o disponible para todos los jugadores.

Almacenamiento de títulos

El almacenamiento de títulos se refiere al almacenamiento de solo lectura en la ubicación de almacenamiento del juego predeterminada, que incluye el ejecutable del juego y otros archivos empaquetados con el mismo. Se puede acceder a los datos ubicados en el almacenamiento de títulos mediante una de estas dos formas:

Canalización de contenido

Por lo general, a los activos de juego (tales como texturas, sombreadores, archivos multimedia y datos personalizados) se accede a través de la Canalización de contenido.

No se puede acceder directamente como archivos a los activos administrados mediante estas funciones, pero a cambio, se cargan y descargan a través de ContentManager haciendo referencia a los nombres que recibieron en tiempo de compilación.

El juego de XNA Game Studio debe usar la canalización de contenido, puesto que ofrece las funciones más flexibles y eficientes para administrar estos activos y garantiza el rápido funcionamiento del juego.

Acceso de secuencia de archivo

Como ya se ha indicado, el juego debe usar la canalización de contenido para administrar los activos de juego. Es posible que haya casos excepcionales en los que deseará administrar sus propios datos de juego; por ejemplo, si dispone de un administrador de contenido ya existente que desee usar con XNA Game Studio o si, de lo contrario, desea obtener acceso de nivel de secuencia a archivos de datos del juego arbitrarios.

Puede agregar archivos de datos arbitrarios al almacenamiento de títulos en tiempo de compilación, y estarán disponibles para el juego durante el tiempo de ejecución mediante TitleContainer, que ofrece acceso de nivel de secuencia a cualquier archivo de esta ubicación.

Las siguientes secciones describen cómo agregar archivos al almacenamiento de títulos y leerlos en esa ubicación a través del acceso de secuencia de archivo:

Almacenamiento de usuario

El almacenamiento de usuario se refiere al almacenamiento de lectura y escritura admitido por la plataforma de juego para guardar información del juego en tiempo de ejecución. Los datos se pueden asociar con un perfil de jugador concreto o ponerse a disposición de todos los jugadores.

Bb200105.note(es-ES,XNAGameStudio.40).gifNota
En Windows Phone, Silverlight y no XNA Game Studio controla el almacenamiento de usuario grabable. Para obtener más información sobre cómo guardar datos de juego en Windows Phone, vea Escritura de datos (Windows Phone).

Acceso al almacenamiento de usuario

Obtener acceso al almacenamiento de usuario se lleva a cabo en dos pasos:

Para obtener acceso al almacenamiento de usuario

  1. Recupere un objeto de StorageDevice para obtener acceso al dispositivo de almacenamiento de usuario.

    El método BeginShowSelector inicia un cuadro de diálogo que solicita al usuario seleccionar un dispositivo de almacenamiento (por ejemplo, un disco o una unidad de memoria). Este método funciona de forma asíncrona, notificando al autor de la llamada con un IAsyncResult o un método de devolución de llamada cuando el usuario haya seleccionado un dispositivo.

    Cuando finalice la operación, se recupera el objeto de StorageDevice para el dispositivo seleccionado por el usuario mediante el método EndShowSelector.

    Para obtener un ejemplo, vea Obtener asíncronamente un StorageDevice.

  2. Obtenga acceso al dispositivo de almacenamiento de usuario para leer o escribir.

    La versión de StorageContainer suministrada por BeginOpenContainer ofrece acceso al dispositivo seleccionado. Use objetos de System.IO, tales como el objeto de File para abrir, copiar, cambiar el nombre o eliminar archivos.

    Bb200105.note(es-ES,XNAGameStudio.40).gifNota
    Abra el StorageContainer antes de leer datos del archivo. De lo contrario, se producirá una excepción InvalidOperationException.

    Para obtener un ejemplo, vea Almacenamiento de datos en un archivo para guardar juegos.

Implementación en Xbox 360

Los cambios realizados a los archivos en un StorageContainer de Xbox 360 no surten efecto hasta que se deseche el StorageContainer. Por este motivo, solo se puede abrir un StorageContainer en el mismo dispositivo para el mismo perfil.

Antes de abrir un StorageContainer en un dispositivo, asegúrese de que se hayan desechado todos los objetos de StorageContainer anteriores abiertos para este perfil. Para desechar un StorageContainer, llame a Dispose.

Implementación en Windows

El almacenamiento de usuario se encuentra en la carpeta Mis documentos del usuario actualmente conectado, en la carpeta SavedGames. Se crea una subcarpeta para cada juego según el titleName pasado al método BeginOpenContainer. Cuando no se especifica ningún PlayerIndex, el contenido se guarda en la carpeta AllPlayers. Cuando se especifica un PlayerIndex, el contenido se guarda en la carpeta Player1, Player2, Player3 o Player4, en función de qué PlayerIndex se haya pasado a BeginShowSelector.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2016 Microsoft