最近没什么更新,因为架构已经基本上稳定下来了,本人正在利用业余时间用基于现在的架构断断续续的开发一个自己的小游戏,由于使用到了之前公司的一些资源,所以不便上传,但是如果在开发过程中发现有可以修改或者改进的地方,还是会合并进来的。
===============================================================
主项目作为入口完全热更的功能已基本上完成,目前项目中是一个可以登录,可以注册,可以创建角色,可以进行简单问答获得经验,然后可以升级的小游戏,主要目的还是为了验证热更功能,目前发现的最主要的问题是从热更Load的所有资源需要手动管理(Load的资源依赖的其他资源会自动下载,不需要手动管理),如果有遗漏的话可能会报空,目前打算对这一部分再做深度的研究(包括判空之后自动下载,不过感觉可能会影响体验)
================================================================
提交了从StreamingAssets拷贝资源的类
开始探索将包括更新资源等所有可能的逻辑移到热更层,主项目只留下入口以及SDK等无法热更的部分。
================================================================
苹果审核已通过,我的做法是将登录界面和主界面以及它们的依赖预先放到StreamingAssets目录下,第一次启动时将它们释放到PersistanceData目录下,因为东西不多,所以释放的很快。据说如果释放资源时间比较长的话也会被拒,大家注意。
现在的框架里还没有这一部分功能,稍候会加入。
================================================================
一个很尴尬的问题,我在公司项目用这个框架实现了所有UI功能的热更(很完美,完全可用),但是提交苹果审核的时候被拒,原因是启动时下载了过多资源 ::>_<::
我现在在做的工作是将一部分已经实现热更,可以下载的UI,比如登录界面修改为在包里直接埋好的,以保证启动的时候可以先登个录,登录成功后再下载一些资源,进入主界面。不知道这样是否可以,下午提交,再次等待审核。
================================================================
# ILRuntime_HotGames
基于ILRuntime的热更新能力实现的可以直接使用的框架。
AHotGames是C#热更项目。
UHotGames是Unity项目。
C#热更项目(AHotGames)请用VS2017打开。
Unity项目是用Unity2018创建的,不过2017版本以上的Unity应该也能打开,并没有用到什么高级特性,只是一堆代码,目前只有Scene/Main场景有用,其实自己创建一个空场景,随便在哪个GameObject挂上入口类Enter类就可以跑了。
使用方法很简单,ILRuntime部分已经在Unity工程中整合,除非有未实现的ILRuntime适配器需要添加,或者ILRuntime有重大更新,否则不建议修改这部分。在C#热更项目中写好功能后编译,我已经写好编译后事件,VS会直接将生成到Unity项目的dll的扩展名修改成bytes,以避免Unity将热更dll直接编译入最终的Assemble中。
Unity项目中的Enter类为起始类,可以修改Config路径为自己的远程路径。
Unity项目中的UBuildTools类为编辑器辅助类,在Unity编辑器中运行,可以打最终包,也可以打AssetBundle包。
在C#热更项目部分新加的类建议都从AHotBase继承,这样可以直接使用很多基类方法。
已经实现的几个GUI游戏中发现一些小问题,原因是Unity的一些内置资源在热更项目里面无法直接获取,之后我会再想办法,不过想必身处8012年末期的大家应该也不会再用GUI来做游戏的,所以这个坑不是很着急填。
AHotBase类不是从MonoBehaviour继承的,ILRuntime的原作者建议热更项目中尽量不要继承自MonoBehaviour,所以我也就这么做了。 Update和OnGUI这两个需要每帧执行的方法似乎比较损耗性能,各位开发时也需要慎重,当然,亲测一些小游戏是完全没必要在意这些小损耗的。
ILRuntime项目地址:
https://github.com/Ourpalm/ILRuntime
向大佬致敬,感谢大佬带来了可以让我们用C#热更功能的ILRuntime。
目前已知限制:
- 不能使用可空类型修饰符(?)
示例: int? ivalue = null;
这种用法暂时是无法使用的,会报错。
############
群里的同学说不知道应该怎么用,那么这篇帖子里就将带领大家走一遍完整流程,注意,我们将只会在Unity主工程中添加资源和预设,不会修改Github主工程中一行代码,所有的代码都将在AHotGames热更项目中添加和实现。
那么好,如果大家现在还没有将Github上的项目check下来,我可以给大家一些时间将项目下载下来。
好,相信大家现在已经把项目check下来了,现在一起打开2017及以上版本的Unity,我也打开我的Unity2018,大家现在看到Unity的启动界面,需要登录的就登录,不需要登录的就显示Loading,然后出现了你之前打开过的项目的列表,点击右上角的Open按钮,打开下载下来的项目中的UHotGames项目。
这个项目中现在什么都没有,只有三个没什么卵用的Scene,以及一大堆莫名其妙的代码,所以加载起来应该是很快的,我打这些字的同时大家的项目应该就已经加载好了。
好,现在项目打开了,在Project视图中,找到Scene文件夹,双击里面的Main场景。
单击Main Camera,双击右边Inspector视图中的Enter脚本(Script右边被一个小框框住的Enter),那么现在你的VS2017将被调起,如果没有的话,请关闭本页面。
VS2017启动起来后,你可以看到Start方法里有一群排成“人”字拖(划掉)的代码,这里就是下载并调用ILRuntime来加载我们的热更代码的部分了,这里我们将永远不会修改它们,请大家截图保存现有的代码,欢迎大家的监督。
好,接下来是一个匪夷所思的操作,请大家跟我一起按一下F6或者Ctrl+B,让VS左下角显示“已启动生成”然后显示“生成成功”。别问我为什么,问我我就会告诉你。
下面回到我们可爱的黑色或者白色的Unity,我们将建立一个小小的UI界面,然后在这个小UI界面上完成一些伟大的事情。
在GameObject/UI菜单栏里,点击Text,添加一个Text,左边的Hierarchy视图将会变成下图这样:
▷Main Camera</br>
  ▽Canvas</br>
    Text</br>
假装上面是一张图片吧啊,那个向下的三角还挺不好找……
把那个Canvas选中,然后拖放到的Project视图的RemoteResources里面去,这样我们就得到了一个叫Canvas的预设,如果你觉得Canvas这个预设名字不吉利,可以给他改成FirstUI这么一个好听的名字,不建议把预设名字命名为中文,因为毕竟老外的软件,有的时候真的是会出现一些神级bug。
删除掉Hierarchy视图中没用了的Canvas,保持里面只有一个Main Camera。
好了,现在我们的第一个用户界面(FirstUI)就有了,备用。
接下来到了最激动人心的写代码的环节。
双击打开AHotGames目录里的AHotGames.sln解决方案,如果这时没有弹出VS2017,你知道你需要怎么做。
打开以后,解决方案管理器视图中,最下面的utils目录中是一些辅助工具类,有需要的时候会用到,大家有什么好的工具类也可以扔这里。
上面的games目录中就是我们的游戏类了,games目录下的aempty目录是AHotBase这个基类的所在地,这个基类没有特殊情况也不需要动它,AEmptyGame类是一个模版类,我一般新加一个游戏类时,就将它复制出这个aempty目录到games目录下(选中它按住Ctrl别撒
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。
资源推荐
资源详情
资源评论
收起资源包目录
毕设&课设&项目&实训-基于ILRuntime的热更新能力实现的可以直接使用的框架.zip (2000个子文件)
_._ 0B
_._ 0B
libWeChatSDK.a 14.31MB
libUniWebView.a 8.98MB
UniWebView.aar 92KB
right01.anim 2KB
front01.anim 2KB
back01.anim 2KB
left01.anim 2KB
c1move.anim 2KB
c1idle.anim 2KB
idleb01.anim 2KB
idler01.anim 2KB
idlef01.anim 2KB
idlel01.anim 2KB
Global.asax 95B
Global.asax 95B
AHotGames.asmdef 25B
GameServices.asmx 108B
NimServices.asmx 106B
WSManage.asmx 100B
Account.asmx 93B
Wiki.asmx 92B
Avatar.asmx 91B
Entry.asmx 89B
ProjectSettings.asset 20KB
QualitySettings.asset 6KB
InputManager.asset 6KB
GraphicsSettings.asset 2KB
Physics2DSettings.asset 2KB
NavMeshAreas.asset 1KB
DynamicsManager.asset 1KB
UnityConnectSettings.asset 901B
EditorSettings.asset 672B
EditorBuildSettings.asset 433B
TagManager.asset 378B
AudioManager.asset 360B
TimeManager.asset 202B
PresetManager.asset 120B
ClusterInputManager.asset 114B
bg1.bmp 20KB
bg2.bmp 8KB
21.bmp 3KB
31.bmp 3KB
54.bmp 3KB
29.bmp 3KB
13.bmp 3KB
6.bmp 3KB
16.bmp 3KB
33.bmp 3KB
7.bmp 3KB
52.bmp 3KB
38.bmp 3KB
40.bmp 3KB
36.bmp 3KB
26.bmp 3KB
8.bmp 3KB
28.bmp 3KB
23.bmp 3KB
51.bmp 3KB
4.bmp 3KB
3.bmp 3KB
9.bmp 3KB
20.bmp 3KB
10.bmp 3KB
5.bmp 3KB
41.bmp 3KB
22.bmp 3KB
34.bmp 3KB
32.bmp 3KB
48.bmp 3KB
30.bmp 3KB
15.bmp 3KB
49.bmp 3KB
39.bmp 3KB
14.bmp 3KB
35.bmp 3KB
1.bmp 3KB
24.bmp 3KB
43.bmp 3KB
44.bmp 3KB
46.bmp 3KB
45.bmp 3KB
12.bmp 3KB
37.bmp 3KB
19.bmp 3KB
25.bmp 3KB
17.bmp 3KB
27.bmp 3KB
2.bmp 3KB
11.bmp 3KB
18.bmp 3KB
50.bmp 3KB
47.bmp 3KB
53.bmp 1KB
42.bmp 1KB
AHotGames.bytes 192KB
CodeResources 2KB
csi.exe.config 8KB
csi.exe.config 8KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
妄北y
- 粉丝: 1w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 【java毕业设计】莲湖小区疫情物资管理系统源码(ssm+mysql+说明文档).zip
- yolo算法-电线杆数据集-1493张图像带标签-.zip
- yolo算法-驾驶员安全带数据集-23320张图像带标签-安全带-电话.zip
- yolo算法-手-人吸烟数据集-20018张图像带标签-手-人.zip
- yolo算法-安全帽数据集-19710张图像带标签-安全帽-无安全帽.zip
- python图片转字符
- yolo算法-dms分神驾驶数据集-15986张图像带标签-喝酒或吃饭-安全带打开-睡着的-进食或饮水-手机.zip
- yolo算法-电线杆数据集-7255张图像带标签-杆顶.zip
- wifi连网与MQTT通信实例
- yolo算法-分神驾驶数据集-8674张图像带标签-没有安全带-唤醒-昏昏欲睡-安全带-电话-打哈欠.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功