小嵩的毕设学习之路--基于Scut的FPS设计实现(17.12.22)

在开始今天的学习记录之前,还是祝福所有考研的小伙伴们考试顺利。今天冬至,吃个饺子,希望可以给你带来幸运。
今天就正式开始Scut与Unity的关联了。此前一直跟随视频来做,很多细节不清楚,有遗漏,导致unity这边报错,不过官方提供了好些demo来学习,这其中除了之前演示的helloworld,还有一个UnityDemo的文件夹,里面分为Client和Server两个文件夹。
我先打开服务器端的VS项目,想和之前自己跟随视频创建的项目进行对比。这也是我一贯的做法,目的就是防止细节出错。在检查到MainClass时,其中GameSession类下面的方法RemoteAddress检测不到。于是转到了GameSession的类定义处,明显发现demo中的Scut版本因为是6.7.9.8,GameSession中有相关方法定义,而较低版本的6.7.8.8并没有。不过代码中只是以参数形式调用了RemoteAddress方法,我暂且将对应位置的参数注释掉。
正当我准备运行ScutDemo时,VS提示Action1004(用户登录)和Action1005(创建角色)中有个名为Uid的变量找不到,这里可以说又是一个小问题,因为不确定这个变量是从哪里获取到的,也不敢修改太多。最后我对代码简单做些调整,保证不会出错,并加了自己的注释。再次运行,GameServer提示redis占用,同之前一样,清缓存,解决。再运行,提示Not connect to the database server "localhost" database "snscenter".这个问题官方文档中有提到,需要参考分服中心部署,因为之前的helloworld和数据库没有关系,而这个unity项目需要相关数据库。
按照教程,如果是MySql数据库,需要手动执行"db\MySql\importdb.sql"脚本导入。其实昨天配置的时候在这里也出了不少岔子,本来的sql语句居然有错误,结果是把两个双引号改成单引号就可以执行了;接着运行sql脚本,又报错:Error Code: 1175. You are using safe update。直接百度,在Mysql的菜单项Edit->Preferences...切换到[SQL Editor],取消最后一个对勾,重启Workbench即可。可是运行提示同样的错误,想起来项目中引用到的GameServer.exe.config,顾名思义就是配置文件了,打开之后果然发现了问题,其中用到的三个数据库:SnsCenter、PayCenter、ConnData,在这三个add标签里,最后的两个属性Uid、Pwd和之前Web.config中的不一致,干脆我将所有用户名密码都改一致,再次运行,终于不报snscenter的错了,却又报Not connect to the database server "localhost" database "PHData".问题是一样的,显然不会是config的问题了。我再次打开Mysql查看运行过importdb.sql脚本的数据库列表,明显其中已经创建了另外两个数据库,就是没有PHData的名字。我发现在sql脚本开始就进行了数据库的创建,去找不到创建PHData数据库的代码,于是照猫画虎加了两行代码,再次运行sql脚本,创建了缺少的PHData数据库,目前来说是空的。最后运行ScutDemo,终于成功了,真可谓一波三折。
这样一来服务器这边勉强算过了,其实也是大同小异。唯一区别较大的就是Action类多了好几个,这一点也可以从协议平台工具中反映出来,其中的ScutDemo就是这个unity的项目,设置了好几个协议。每个Action中的具体代码还有待进一步研究。
终于可以开unity了!打开Client下面的文件夹,果然如我所料,打开项目的时候出现提示框,由于我用的是unity2017版本,然而项目是较低的版本(before5.0?较低?我***)为保险起见,我又将unity的项目拷贝了一份,防止更改后项目报错而没有备份。果然打开unity后,下面的console面板醒目的红色感叹号出来了。简单看了一下意思,好像是地形数据出错了,这种由于版本的问题出现的错误没有好的解决办法,看来确实得换一下unity版本才可以。

今天就到这吧,明天尝试一下unity5.0之前的版本。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值