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

笔者大一的时候,腾讯云搞活动,学生认证可以抢到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. SLAM+语音机器人DIY系列:(二)ROS入门——2.ROS系统整体架构

    摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...

  2. SpringBoot轻松整合ElasticSearch

    完整项目代码地址(https://github.com/fonxian/spring-elasticsearch-example/tree/master/spring-elasticsearch-ex ...

  3. Mysql、SqlServer、Oracle三大数据库的区别

    一.MySQL 优点: 体积小.速度快.总体拥有成本低,开源: 支持多种操作系统: 是开源数据库,提供的接口支持多种语言连接操作 : MySQL的核心程序采用完全的多线程编程.线程是轻量级的进程,它可 ...

  4. 在Docker中体验数据库之Mongodb

    本文记录一下,在docker中安装Mongodb的过程. 环境:物理机 ubuntu18.04 因为环境变了,我在一台物理机上直接安装了ubuntu(非虚拟机和双系统),制作U盘镜像.安装参考:htt ...

  5. loj#2312. 「HAOI2017」八纵八横(线性基 线段树分治)

    题意 题目链接 Sol 线性基+线段树分治板子题.. 调起来有点自闭.. #include<bits/stdc++.h> #define fi first #define se secon ...

  6. WebGL或OpenGL关于模型视图投影变换的设置技巧

    目录 1. 具体实例 2. 解决方案 1) Cube.html 2) Cube.js 3) 运行结果 3. 详细讲解 1) 模型变换 2) 视图变换 3) 投影变换 4) 模型视图投影矩阵 4. 存在 ...

  7. 【Android】用Cubism 2制作自己的Live2D——软件的安装与破解!

    前言- 上文我们简单的了解了Cubism的情况,但是Cubism 2.X安装好以后如果不进行破解只能使用Free版本,这是我们接受不了的,我们是专业的.是来学习的,怎么能不用Pro版本呢?所以话不多说 ...

  8. Puppeteer学习之小试牛刀

    最近有了写文章的动力了,一方面是受到了很多前辈们的启示,另一方面也是为了记录下来更好地学以致用.闲言少叙,先说说Puppeteer是什么. Puppeteer是一个node库,提供了一些用来操作Chr ...

  9. MySQL 基础知识梳理学习(六)----锁

    1.什么是锁: 对共享资源进行并发访问控制,提供数据的完整性和一致性. 2.锁的区别: 类型 lock latch 对象 事务 线程 保护 数据库内容 内存数据结构 持续时间 整个事务过程 临界资源 ...

  10. javafx:JavaFX Scene Builder 2.0打开含有第三方jar包的fxml文件报错 Caused by: java.lang.ClassNotFoundException

    报错如下: java.io.IOException: javafx.fxml.LoadException: /C:/User.................test.fxml at com.orac ...