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里面是看不到的,所以大家可以改改代码其他一些东西进行热更演示,例如获取两个按钮里面的文字,把它们内容改一下。)
ILRuntime_NewbieGuide—进阶的更多相关文章
- ILRuntime_NewbieGuide—导读
Welcome to the ILRuntime_NewbieGuide wiki! 入门篇:做个简单的案例 https://www.cnblogs.com/kerven/p/10237280.htm ...
- nodejs进阶(6)—连接MySQL数据库
1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABA ...
- nodejs进阶(4)—读取图片到页面
我们先实现从指定路径读取图片然后输出到页面的功能. 先准备一张图片imgs/dog.jpg. file.js里面继续添加readImg方法,在这里注意读写的时候都需要声明'binary'.(file. ...
- JavaScript进阶之路(一)初学者的开始
一:写在前面的问题和话 一个javascript初学者的进阶之路! 背景:3年后端(ASP.NET)工作经验,javascript水平一般般,前端水平一般般.学习资料:犀牛书. 如有误导,或者错误的地 ...
- nodejs进阶(3)—路由处理
1. url.parse(url)解析 该方法将一个URL字符串转换成对象并返回. url.parse(urlStr, [parseQueryString], [slashesDenoteHost]) ...
- nodejs进阶(5)—接收请求参数
1. get请求参数接收 我们简单举一个需要接收参数的例子 如果有个查找功能,查找关键词需要从url里接收,http://localhost:8000/search?keyword=地球.通过前面的进 ...
- nodejs进阶(1)—输出hello world
下面将带领大家一步步学习nodejs,知道怎么使用nodejs搭建服务器,响应get/post请求,连接数据库等. 搭建服务器页面输出hello world var http = require ...
- [C#] 进阶 - LINQ 标准查询操作概述
LINQ 标准查询操作概述 序 “标准查询运算符”是组成语言集成查询 (LINQ) 模式的方法.大多数这些方法都在序列上运行,其中的序列是一个对象,其类型实现了IEnumerable<T> ...
- Java 进阶 hello world! - 中级程序员之路
Java 进阶 hello world! - 中级程序员之路 Java是一种跨平台的语言,号称:"一次编写,到处运行",在世界编程语言排行榜中稳居第二名(TIOBE index). ...
随机推荐
- SLAM+语音机器人DIY系列:(二)ROS入门——2.ROS系统整体架构
摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...
- SpringBoot轻松整合ElasticSearch
完整项目代码地址(https://github.com/fonxian/spring-elasticsearch-example/tree/master/spring-elasticsearch-ex ...
- Mysql、SqlServer、Oracle三大数据库的区别
一.MySQL 优点: 体积小.速度快.总体拥有成本低,开源: 支持多种操作系统: 是开源数据库,提供的接口支持多种语言连接操作 : MySQL的核心程序采用完全的多线程编程.线程是轻量级的进程,它可 ...
- 在Docker中体验数据库之Mongodb
本文记录一下,在docker中安装Mongodb的过程. 环境:物理机 ubuntu18.04 因为环境变了,我在一台物理机上直接安装了ubuntu(非虚拟机和双系统),制作U盘镜像.安装参考:htt ...
- loj#2312. 「HAOI2017」八纵八横(线性基 线段树分治)
题意 题目链接 Sol 线性基+线段树分治板子题.. 调起来有点自闭.. #include<bits/stdc++.h> #define fi first #define se secon ...
- WebGL或OpenGL关于模型视图投影变换的设置技巧
目录 1. 具体实例 2. 解决方案 1) Cube.html 2) Cube.js 3) 运行结果 3. 详细讲解 1) 模型变换 2) 视图变换 3) 投影变换 4) 模型视图投影矩阵 4. 存在 ...
- 【Android】用Cubism 2制作自己的Live2D——软件的安装与破解!
前言- 上文我们简单的了解了Cubism的情况,但是Cubism 2.X安装好以后如果不进行破解只能使用Free版本,这是我们接受不了的,我们是专业的.是来学习的,怎么能不用Pro版本呢?所以话不多说 ...
- Puppeteer学习之小试牛刀
最近有了写文章的动力了,一方面是受到了很多前辈们的启示,另一方面也是为了记录下来更好地学以致用.闲言少叙,先说说Puppeteer是什么. Puppeteer是一个node库,提供了一些用来操作Chr ...
- MySQL 基础知识梳理学习(六)----锁
1.什么是锁: 对共享资源进行并发访问控制,提供数据的完整性和一致性. 2.锁的区别: 类型 lock latch 对象 事务 线程 保护 数据库内容 内存数据结构 持续时间 整个事务过程 临界资源 ...
- 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 ...