进阶篇其实要求你应该拥有一个云服务器才有意思,但你用本地电脑也是一样的道理,只是没有这么有趣了。

笔者大一的时候,腾讯云搞活动,学生认证可以抢到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里面是看不到的,所以大家可以改改代码其他一些东西进行热更演示,例如获取两个按钮里面的文字,把它们内容改一下。)

ILRuntime_NewbieGuide—进阶的更多相关文章

  1. ILRuntime_NewbieGuide—导读

    Welcome to the ILRuntime_NewbieGuide wiki! 入门篇:做个简单的案例 https://www.cnblogs.com/kerven/p/10237280.htm ...

  2. nodejs进阶(6)—连接MySQL数据库

    1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABA ...

  3. nodejs进阶(4)—读取图片到页面

    我们先实现从指定路径读取图片然后输出到页面的功能. 先准备一张图片imgs/dog.jpg. file.js里面继续添加readImg方法,在这里注意读写的时候都需要声明'binary'.(file. ...

  4. JavaScript进阶之路(一)初学者的开始

    一:写在前面的问题和话 一个javascript初学者的进阶之路! 背景:3年后端(ASP.NET)工作经验,javascript水平一般般,前端水平一般般.学习资料:犀牛书. 如有误导,或者错误的地 ...

  5. nodejs进阶(3)—路由处理

    1. url.parse(url)解析 该方法将一个URL字符串转换成对象并返回. url.parse(urlStr, [parseQueryString], [slashesDenoteHost]) ...

  6. nodejs进阶(5)—接收请求参数

    1. get请求参数接收 我们简单举一个需要接收参数的例子 如果有个查找功能,查找关键词需要从url里接收,http://localhost:8000/search?keyword=地球.通过前面的进 ...

  7. nodejs进阶(1)—输出hello world

    下面将带领大家一步步学习nodejs,知道怎么使用nodejs搭建服务器,响应get/post请求,连接数据库等. 搭建服务器页面输出hello world var  http  =  require ...

  8. [C#] 进阶 - LINQ 标准查询操作概述

    LINQ 标准查询操作概述 序 “标准查询运算符”是组成语言集成查询 (LINQ) 模式的方法.大多数这些方法都在序列上运行,其中的序列是一个对象,其类型实现了IEnumerable<T> ...

  9. Java 进阶 hello world! - 中级程序员之路

    Java 进阶 hello world! - 中级程序员之路 Java是一种跨平台的语言,号称:"一次编写,到处运行",在世界编程语言排行榜中稳居第二名(TIOBE index). ...

随机推荐

  1. Netflix网关zuul(1.x和2.x)全解析

    zuul 是netflix开源的一个API Gateway 服务器, 本质上是一个web servlet应用. Zuul可以通过加载动态过滤机制,从而实现以下各项功能: 验证与安全保障: 识别面向各类 ...

  2. spring boot拦截器中获取request post请求中的参数

    最近有一个需要从拦截器中获取post请求的参数的需求,这里记录一下处理过程中出现的问题. 首先想到的就是request.getParameter(String )方法,但是这个方法只能在get请求中取 ...

  3. 详解块级格式化上下文(BFC)

    相信大家和我一样,第一次听到别人说CSS 块级格式化上下文(block formatting context,简称:BFC)的时候一头雾水,为了帮助大家弄清楚块级格式化上下文,我翻阅了W3C的CSS规 ...

  4. maven+springMVC(一)

    [目录]

  5. 关于写作那些事之利用 js 统计各大博客阅读量

    在日常文章数据统计的过程中,纯手动方式已经难以应付,于是乎,逐步开始了程序介入方式进行统计. 在上一节中,探索利用 csv 文件格式进行文章数据统计,本来以为能够应付一阵子,没想到仅仅一天我就放弃了. ...

  6. PM意识升级2.0

    上一篇<质量:“PM,你怎么可以放弃我?!”>,我们匡正了PM的一个意识:质量是PM的底线和目标,也算是PM意识升级的1.0.同时提出,只有“正确的做正确的事”才是保证质量,且成本相对最低 ...

  7. 记MVC学习过程中一次传参到View时遇到的错误

    在跟着 <PRO ASP.NET MVC5>一书进行第七章的练习的时候遇到了以上问题, 当遇到此类问题的时候应该先检查方法传输和其视图接受的数据类型是否一致, 大多时候都是因为两者数据类型 ...

  8. 对css盒模型的理解

    介绍一下标准css的盒子模型?低版本IE的盒子模型有什么不同的? 1.有两种:IE盒子模型(怪异模式).W3c盒子模型(标准模式). 2.盒模型组成:内容(content).内边距(padding). ...

  9. C#图片添加文字水印

    /// <summary> /// 给图片添加文字水印 /// </summary> /// <param name="img">图片</ ...

  10. SQL SERVER 临时数据库 tempdb 迁移或增加文件

    临时数据库TempDB 虽然是临时库,但对整个数据库系统性能却起到很关键的作用:平时用到的中间数据集会暂时保存到TempDB 中,比如:临时表,排序,临时统计信息,一些中间结果数据,索引重建 等.我们 ...