Download SQLite en Unity 5 - Universidad de El Salvador
Transcript
Universidad de El Salvador Facultad de Ingeniería y Arquitectura Escuela de Ingeniería de Sistemas Informáticos Guía de apoyo 03 para Taller Compdes 2015 “Tema: Desarrollo de videojuegos para apoyar el Proceso de enseñanza-aprendizaje en la Universidad de El Salvador utilizando Unity3D y Blender” Elaborado por: Br. José Giovanni Cruz Cordero. Br. Oscar Raúl Pleitez Trujillo. Br. Carlos Gerardo González Serrano. Br. Milton Enrique Ramírez Nery. Ing. Boris Alexander Montano Navarrete. Ing. César Augusto González Rodríguez. Ciudad Universitaria, 29 de junio de 2015. Contenido Casos de instalación ............................................................................................................................................................ 1 1- Crear estructura base: ........................................................................................................................................... 1 2- Descargar SQLite: ................................................................................................................................................... 1 3- Copia de archivos necesarios para el funcionamiento de la base SQLite: .................................................... 1 4- Instalar una herramienta para la gestión de la base de datos que se creara. ............................................... 3 5- Crear Base de datos............................................................................................................................................... 3 6- Crear Script de conexión a la base de datos:..................................................................................................... 7 7- Crear El entorno de prueba:.................................................................................................................................. 9 8- Resultados: .............................................................................................................................................................. 9 1 Casos de instalación 1- Crear estructura base: Crear una carpeta llamada Plugins dentro de la carpeta Assets, aca es donde estarán los archivos necesarios para el funcionamiento de SQLite en tu videojuego. 2- Descargar SQLite: La descarga del archivo de SQLite depende del tipo arquitectura en el cual funciona Unity. Si el sistema es x86 descarga de la página: http://www.sqlite.org/download.html. Si el sistema es x64 descarga de la página: o http://blog.synopse.info/post/2013/03/23/Latest-version-of-sqlite3.dllfor-Windows-64-bit 3- Copia de archivos necesarios para el funcionamiento de la base SQLite: Para que Unity pueda establecer conexión con la base de datos es necesario crear la siquiente estructura de archivos: Dependiendo la arquitectura de que se este utilizando se deberá copiar los siguientes archivos de la carpeta de instalación de Unity: o X86: C:\ProgramFiles/(x86)\Unity\Editor\Data\Mono\lib\mono\2.0 System.Data.dll 2 o Mono.Data.Sqlite.dll X64: C:\Program Files\Unity\Editor\Data\Mono\lib\mono\2.0 System.Data.dll Mono.Data.Sqlite.dll Colocar la copia de los archivos en: o Assets/Plugins Colocar los archivos descargados en: o Arquitectura x86: o /Assets/Pugins/x86: Aca estará el archivo sqlite3.dll Arquitectura x64: /Assets/Pugins/ x86_64: Aca estará el archivo sqlite3.d+ll (Version de 64 bits) Al final deberá quedar una estructura de archivos como la siguiente: NOTA: Asegúrate de dejar los archivos sqlite3.dll en sus carpetas correspondientes, de lo contrario la conexión entre unity y SQLite no funcionara. Las carpetas de nombre “x86” y “x86_64” son nombres estandarizados, necesarios para que Unity pueda reconocer donde se encuentran los archivos .dll . 3 4- Instalar una herramienta para la gestión de la base de datos que se creara. En este ejemplo utilizaremos SQLite Administrator: http://sqliteadmin.orbmu2k.de/ 5- Crear Base de datos Interfaz grafica de SQLite Administrator: Botones de acceso directo a objetos de la Base de datos: Utiles para filtrar rápidamente entre los elementos de la base de datos. Barra de Menus Barra de Herramientas Consulta SQL: Ingrese aca los script SQL que desee ejecutar. Area de estructura Resultado: Area de resultados obtenidos por la de objetos de la consulta SQL. base de datos. Editar Datos: Edite datos de las tablas creadas en su Base de Datos. 4 Creando Base de Datos: i. Haga click en el boton: , Cree una base de datos llamada Database. ii. Guarde la base de datos en la dirección: Assets/Plugins de tu proyecto Unity. Creacion de tablas: En este ejemplo crearemos dos tablas: Player e Item: 1. Click derecho en la carpeta Tablas. 2. Haga click en el botón Crear Tabla. Cree las siguientes tablas: Player: idPlayer (Primary Key) nombre descripción Item: idItem (Primary Key) nombre descripción Insertando datos de prueba: 5 Tabla Player: Tabla item: 6 La creación de cada tabla generara un script como el siguiente: Ingresar datos a las tablas: Agregar valores de prueba a las tablas: Ejemplo: NOTA: SQLite no posee el manejo de contraints para llaves foráneas. Es por ello que ell manejo de Integridad referencial entre las tablas de SQLite se debe hacer por medio del uso de Triggers. 7 6- Crear Script de conexión a la base de datos: Crear un script el cual contendrá el código necesario para establecer conexión con la base de datos: En Unity haga click derecho sobre la carpeta plugins: Create -> C# Script Nombrar el archivo que contendrá el Script. Ej: SQLite Hacer click derecho sobre el archivo Generado. Por default se abrirá la aplicación Mono Develop que viene integrado con Unity. 8 Crear el siguiente script dentro del archivo C# creado: using using using using using UnityEngine; System.Collections; Mono.Data.Sqlite; System.Data; System; public class SQLite : MonoBehaviour { // Use this for initialization void Start () { string conn = "URI=file:" + Application.dataPath + "/Plugins/Database.s3db"; //Path to database. Debug.Log (conn); IDbConnection dbconn; dbconn = (IDbConnection) new SqliteConnection(conn); dbconn.Open(); //Open connection to the database. IDbCommand dbcmd = dbconn.CreateCommand(); string sqlQuery = "SELECT * FROM player"; dbcmd.CommandText = sqlQuery; IDataReader reader = dbcmd.ExecuteReader(); while (reader.Read()) { int value = reader.GetInt32(0); string name = reader.GetString(1); string alias = reader.GetString(1); string password = reader.GetString(1); Debug.Log( "idPlayer= "+value +" nombre= "+name +" alias= "+ alias +" password= "+ password); } reader.Close(); reader = null; dbcmd.Dispose(); dbcmd = null; dbconn.Close(); dbconn = null; } // Update is called once per frame void Update () { } } 9 7- Crear El entorno de prueba: Crear Terreno: En la barra de menú de Unity: 1. GameObject/3D object/Terrain 2. GameObject/3D object/Capsule Agregar el Script de conexión al objeto Capsule. 8- Resultados: Finalmente presionar el botón de ejecución de Unity. En la pestaña de la consola aparecerán los resultados de la consulta realizada a la tabla Player: