unity链接MySQL数据库,并实现游戏数据的存储和读取。(一)

unity链接MySQL数据库,并实现游戏数据的存储和读取。(一)

先说明一下,本次测试中MySQL是安装在本机上的,如果你要想实现在任何地方访问你的数据库建议使用阿里云的RDS云数据库,你需要注册一个阿里云的账号,然后购买实例等等,这些购买实例、创建白名单、创建数据库、创建账号等在阿里云的帮助文档里都写的很详细了,翻一下看看,在这就不一一赘述了。

如果你只是作为个人测试使用,也可以不用花钱买,毕竟很贵。那你就直接将MySQL安装到你的电脑上即可,

为了大部分人的需求,下面会分别介绍使用阿里云RDS云数据库的情况下与unity进行链接和直接将MySQL装到本机的情况下与unity链接。

当你的这些工作准备好后,下载个workbench,当然,你用别的连接数据库软件也可以,这里选择workbench。


一、版本说明:

 unity版本:2020.1.8 f1c1

 visual studio版本:2017版

 MySQL版本:不管使不使用RDS,MySQL版本都可以安装最新版的。

 MySQL与C#链接使用的动态链接库MySQL.Data.dll版本:connector/net 5.2.0(要想与C#进行链接,必须要有这个库,而且这个版本不要太高)


本次任务要做一个简单的登入、注册界面。要求:实现当点击登入按钮时,判断用户是否已经存在,如果存在就直接登入,并加载这个用户的数据;如果不存在提示登入失败。当点击注册按钮时会判断用户是否已经存在,如果已经存在,提示注册失败,用户名已经存在,如果用户不存在,提示注册成功。当用户登入成功后,加载游戏场景,在游戏场景中可以实现点击空格键方块改变颜色,同时分数加一。


开始:

扫描二维码关注公众号,回复: 16896013 查看本文章

搭建UI界面,这里就不说了,直接上图
在这里插入图片描述
在这里插入图片描述
username和password是两个inputfield。用户名和密码是那两个提示文字。注册和登录是两个按钮。game_evn是登入成功后要加载的游戏场景。

游戏场景:
在这里插入图片描述
Game_evn目录:
在这里插入图片描述
player是方块,score是左上角的分数,是个text。save是右下角的保存按钮。
MySQL下载:
https://dev.mysql.com/downloads/
到这个页面下下载MySQL Community Server 最新版本和Connector/Net 5.2版本,其他版本不知可以不,反正这两个版本是我使用过的,可以。MySQL的安装如果不会可以百度,这里就不跑题了。

安装好后,workbench也会自动安装下来

1、将MySQL直接安装到本机的情况下与unity进行链接,实现上述要求:

打开workbench新建一个连接。
在这里插入图片描述
因为你的mysql是在你本机上,所以这里的Hostname是表示的是你本机的地址,写你本机的IP地址也可以。

然后用户名(默认是root)填好后点击test connection,输入你的mysql密码,就可以连接上了。

连接好后新建一个数据库命名为mydatabase,然后在这个数据库下新建个表,命名为mytable,然后根据需要建几个字段,根据上面的任务我需要建立一个ID字段、user_name字段、user_password字段,score字段,r、g、b用来存储方块颜色的字段。

MySQL这边准备好后,我们需要到刚刚下载的connecto/Net文件中找到MySQL.Data.dll文件,在unity中新建一个Plugins文件夹将其放入。最后要导出exe文件还需要到unity的安装目录下分别找到I18N.dll、I18N.West.dll、System.Data.dll、System.Drawing.dll并将它们放到Plugins文件夹下
在这里插入图片描述
OK!一切准备好后,我们就开始写代码了!!!

unity下建立一个名为Connect_Mysql的脚本,不需要继承MonoBehaviour类。这个脚本用来写与数据库链接、查询、更改、删除插入的方法。

1、我们先来写点击登录按钮时的操作,当点击登录按钮时会先进行数据库链接,链接成功后进行用户名和密码的查询,看一下此用户是否已经存在,如果存在就提示登录成功,如果不存在,提示用户不存在,请注册。

        public bool login_success = false;
        public bool register_success = false;

        public int score;
        public float r;
        public float g;
        public float b;
//点击登录按钮
        public void Click_login(

猜你喜欢

转载自blog.csdn.net/qq_41294510/article/details/131557453
今日推荐