ET框架-03 ET框架-Demo工程的编译与运行

学习目标:

ET框架-Demo工程的编译与运行


学习内容:

1.Unity工程代码编辑器的设置
2.服务器配置
3.运行Server.App
4.手动去编译Unity客户端代码
5.运行客户端
6.打包客户端(以及打包BUG解决)
7.运行测试


学习时间:

2022.2.19


学习产出:

1.Unity工程代码编辑器的设置

打开Edit-Preferences
在这里插入图片描述
我们将代码编辑器设置为我们之前安装的VS2022
在这里插入图片描述
在Unity下面使用VS2022打开一次项目
在这里插入图片描述

2.服务器配置

进入目录,打开Client-Server.sln
在这里插入图片描述
需要在"工具-选项-适用于Unity的工具-常规"里,把杂项里的禁止完整生成项目改为False
在这里插入图片描述
然后我们选择Client下面的Mono,右键
在这里插入图片描述
点击重新生成
在这里插入图片描述
然后我们选择解决方案,然后右键
在这里插入图片描述
我们重新生成解决方案
在这里插入图片描述
现在我们ET框架所有的源代码都被编译完成了

3.运行Server.App

点击即可运行
在这里插入图片描述
然后我们就开启了黑窗口
在这里插入图片描述
但是我们的黑窗口并没有任何的日志输出,我们并不知道是否启动成功,或者是否报错,那我们应该在哪去查看呢?
答案是,在Logs文件夹下面
这两个文件,就是我们的log文件
在这里插入图片描述
这里我们不免会好奇,为什么我们我们的日志不在控制台的黑窗口输出呢?为何要多此一举生成一个文件,每一次还得打开log文件去查看?
原因有二:

  1. 首先我们的服务器如果出现问题,exe文件崩溃,那么日志文件就会全部消失,我们根本无法去定位我们的错误在哪,这也是为什么我们需要将log文件保留下来的重要原因
  2. 我们是没办法在正式服务器程序去查看这个黑窗口

打开日志文件,发现Server启动成功
在这里插入图片描述

4.手动去编译Unity客户端代码

我们的代码并不是放在Assets文件夹下面,而是与Assets文件夹同级的Codes文件夹下面,这样做的好处就是方便热更新,我们并不需要Unity自动的去帮我们编译代码,反而,我们可以随时进行修改,然后随时进行编译,这是很方便同时也很有意义的一件事。
这也是ET框架最大的优点之一
在这里插入图片描述
在Unity–Tools–BuildCodeDebug点击
在这里插入图片描述
编译完成
在这里插入图片描述

5.运行客户端

我们打开场景Init,然后将代码Init的CodeMode从IL Runtime热更新模式变为Mono模式,来保证我们游戏运行的一个正确性
在这里插入图片描述
我们直接点击登录
在这里插入图片描述
然后进入地图
在这里插入图片描述
我们鼠标右键对应位置,小人会跟随移动
在这里插入图片描述
如果出现了全部爆红的情况,可能是材质丢失
在这里插入图片描述

我们选择对应的物体,然后将Shader改为Unity自带的默认的Shader即可解决
在这里插入图片描述

6.打包客户端(以及打包BUG解决)

我们发现,这里只有一个小人在移动
既然是网络游戏,那是不是应该来多个小人一起才有意思呢?
好主意,那我们就去Build我们的项目

首先我们进入ProjectSettings
将其设置为窗口显示
在这里插入图片描述
然后我们进入Tools点击打包工具
在这里插入图片描述
勾选三个之后,点击打包
在这里插入图片描述
这里出现了bug
显示我们没有StreamingAssets文件夹
在这里插入图片描述
那我们就自己创建一个
在这里插入图片描述
又出现了一个bug
IL2CPP is not installed
在这里插入图片描述
这里我们进入UnityHub
添加一个模块,名为Windows Build Support(IL2CPP)在这里插入图片描述
然后我们重启项目,然后进入Tools打包

打包完成之后,我们进入Release文件夹
在这里插入图片描述
打包完成

7.运行测试

我们重新启动我们的服务器,也就是
在这里插入图片描述
然后我们打开两个以上的客户端
在这里插入图片描述
我们发现,两个客户端的玩家位置会同时进行同步
在这里插入图片描述

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
写在前面 一直从事java方面的工作,用过大大小小各种框架,尝试过各种复杂的配置以及不同学习曲线,感觉java的世界是如此杂而乱。借此希望造一个轮子,已简化java web开发,开发者不需要学习更多的知识,只要一个框架就能解决绝大多数日常应用开发中的问题。由于诞生了这个框架,暂且取名为:ET-Framework (来自外星人的框架) 目标与计划 (1)简洁—去掉不必要依赖,尽量减少对外部环境的依赖,使用jdk源码实现的尽量用jdk源码实现 (2)高效—开发效率要高,集成server,支持热部署,动态替换 (3)简单—学习曲线低,几天就可以上手 Roadmap 序号 模块名称 模块说明 1 et-framework (maven父工程,管理所有的子模块或者是子项目,以及负责整体发布,整体打包,等等) 2 et-service  这个jar 文件是所有应用都要用到的,它包含访问配置文件、创建和管理bean 以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类。如果应用只需基本的IoC/DI 支持,引入et-service.jar和et-common.jar 文件就可以了。 3 et-web  这个jar 文件包含ET MVC 框架相关的所有类。包括框架的Servlets,Web MVC框架,控制器和视图支持。当然,如果你的应用使用了独立的MVC 框架,则无需这个JAR 文件里的任何类。 4 et-dao  这个jar 文件包含对ET对JDBC 数据访问进行封装的所有类。和事务访问数据库 5 et-common  这个jar 文件包含ET 框架基本的核心工具类。et 其它组件要都要使用到这个包里的类,是通用的核心的工具类,当然你也可以在自己的应用系统中使用这些工具类 备注 采用maven搭建项目,管理依赖以及版本的控制,代码托管在github ,希望大家为中国的开源事业贡献自己的一份力量 基础知识准备:git和eclipse集成maven和eclipse集成 有疑问请联系liuhaihua@59et.com 标签:etframework
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值