ILRuntime_NewbieGuide—进阶
进阶篇其实要求你应该拥有一个云服务器才有意思,但你用本地电脑也是一样的道理,只是没有这么有趣了。
笔者大一的时候,腾讯云搞活动,学生认证可以抢到1元的云主机,配置很低,但是平时练练手还是可以的,现在没有这个1元的云主机买了,然后我的这个东西等过了几个月我毕业了也就不给用了(悲伤)。你要是想买的话就上腾讯云或者阿里云等平台上面找找吧。
回正题:先简述我将用到的东西(我的做法有些地方很傻逼),我用到了一个腾讯云小水管云主机,在这个云主机上面装了一个SVN Server,同时也安装了SVN;在云主机上建了一个放资源的SVN仓库目录,并在这个参考上面用NetBox再开了一个http服务。这样,当本地电脑的SVN资源推送到云主机上,我再到云主机上运行SVN把最新资源拉一遍。
下面这张图解释下上面的意思:
NetBox下载:http://www.kerven.com.cn:50339/NetBox2.exe
SVN Server 和 SVN工具的下载及安装使用请自行百度。
观众:这不就是把资源弄到服务器上,然后拿到相应链接下载吗?你有必要开两个服务?
是的,其实这个的本意是想只要装一个SVN Server在云主机上,获取资源直接从SVN Server上面拿的,但是我发现SVN Server需要输入账号和密码访问,然后我试了网上很多设置匿名登陆SVN服务器的方法都不成功,然后我也不知道怎么在程序中带账号密码访问服务器(其实应该是像访问数据库那样带上userid和passwd访问),无奈只得在云主机上装一个SVN工具再拉一次项目,然后在这个项目目录上重新用NetBox再开一个Web服务器。
===>上面的方法其实直接在云主机上开一个ftp就可以解决的,用SVN是因为这样在提交的时候需要写注解,这样会更有利于后期维护(观众:你个小菜鸡这么早就想着维护了)。如果大家成功设置了SVN Server匿名访问的话,麻烦提个issue,或者e-mial我,联系方式在我的主页有。
如果你没有云主机,那就更简单了,你只需要下载NetBox.exe,找个目录放上去,然后建一个index.html,双击打开NetBox.exe,你就明白了。
重点:
如果上面的一些相关工具你搞好了就可以进行下面的了, 下面回到项目实操: 打开Config.txt,把resources目录改为你服务器热更资源的路径,在preloads=firstui,后吗追加UITrain, 我的Config.txt如下
resources=http://www.kerven.com.cn:50339/hotgames/ useab=1 preloads=firstui,UITrain,dll/
回到unity,运行MyTools/打包工具 中 “Build AssetBundles”命令,将RemoteResources目录下的所有资源打包成ab,打包后的资源应该是在这个路径下:ILRuntime_NewbieGuide\UHotGames\ab1 。 把Windows和Config.txt更新到你的服务器 NetBox所开启的服务的目录下,如我在服务器上的目录如下:
回到unity,打开Enter.cs脚本,把ConfigURL指向我们服务器的Config.txt路径,如我的路径如下:
public static string ConfigURL = "http://www.kerven.com.cn:50339/hotgames/Config.txt";
保存后再回到unity,这个时候到BuildSetting里把我们的Train场景Build一个exe出来,运行,没有意外的话应该是和我们在unity下的一模一样。
接下来进行热更新:
计划是:把之前王者荣耀的五张图片换成是奥拉星的图片:
切到unity工程,资源管理器打开Assets\Resources\Pictures\1目录,并且打开git工程里面的“游戏图片”目录,我们用游戏目录下的0-4图片替换掉Assets\Resources\Pictures\1目录目录下的0-4图片。这样替换后,预设上的图片就变成另外五张图片了。<==这是预设修改
接下来进行代码热更演示:切到AHotGames项目随便改点代码吧,那就切到UITrain.cs脚本,把LeftBtnClick()里的Debug.Log("LeftBtnClick");改为Debug.Log("你按了上一页");,RightBtnClick()方法同理改一下。然后重新生成项目。
回到unity,运行MyTools/打包工具 中 “Build AssetBundles”命令,将RemoteResources目录下的所有资源打包成ab,打包后的资源应该是在这个路径下:ILRuntime_NewbieGuide\UHotGames\ab1 。
同理,和上面一样,把打包出来的ab包替换到服务器上,(如果有增加面板,那就需要到Config.txt里面追加面板的名字)
这个时候,重新运行我们Build出来的exe,你会发现,王者荣耀的图片已经被更换成奥拉星的了。(上面的代码热更演示在exe里面是看不到的,所以大家可以改改代码其他一些东西进行热更演示,例如获取两个按钮里面的文字,把它们内容改一下。)