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

笔者大一的时候,腾讯云搞活动,学生认证可以抢到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. 极光推送经验之谈-Java后台服务器实现极光推送的两种实现方式

    原创作品,可以转载,但是请标注出处地址http://www.cnblogs.com/V1haoge/p/6439313.html Java后台实现极光推送有两种方式,一种是使用极光推送官方提供的推送请 ...

  2. oracle学习笔记(五) SQL操作符

    SQL操作符 算术操作符:+加,-减,*乘,/除 比较操作符: <,>,=,!=,<>,<=,>= 常用的判断,<>和!=相同 between $low ...

  3. jQuery事件绑定,解绑,触发

    事件绑定 1.bind(type,[data],fn) --type: 含有一个或多个事件类型的字符串,由空格分隔多个事件.比如"click"或"submit" ...

  4. 你不可不知的Java引用类型之——Reference源码解析

    定义 Reference是所有引用类型的父类,定义了引用的公共行为和操作. reference指代引用对象本身,referent指代reference引用的对象,下文介绍会以reference,ref ...

  5. 用markdown写博客

    目录 用markdown写博客 前言 标题 段落 引用区块 代码块 列表 分隔线 链接 强调.加粗.下划线.删除线 图片 智能链接 表格 转义序列 用markdown写博客 前言 博客园支持用mark ...

  6. SQL Server一致性错误修复案例总结

    今天遇到了一个关于数据库一致性错误的案例.海外工厂的一台SQL Server 2005(9.00.5069.00 Standard Edition)数据库在做DBCC CHECKDB的时候出现了一致性 ...

  7. 从0开始的Python学习016异常

    简介 当你的程序不能正常运行的时候,Python会在控制台打印一段提醒,告诉你一个错误,这个错误就是异常. 错误 我在控制台写了一段无效的代码,将print()的括号去掉,在执行这条语句的时候,系统提 ...

  8. mysql字段约束

    为了确保数据的完整性和唯⼀性,关系型数 据库通过约束机制来实现目. 一. unique 唯一性约束    : 值不可重复: 二. not null    非空约束    : 值不可为空: 三. def ...

  9. redis报错:java.net.SocketException: Broken pipe (Write failed); nested exception is redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketException: Broken pipe (Write failed)

    最近写了一个服务通过springboot构建,里面使用了redis作为缓存,发布到服务器运行成功,但是有时候会报redis的错误:org.springframework.data.redis.Redi ...

  10. Linux 下查看字体

    1.查看所有字体 命令:fc-list 2.查看中文字体 命令:fc-list :lang=zh 3.查看更多字体 命令:fc-match -v "AR PL UKai CN"