当前位置: 首页 > news >正文

网站查询备案服务商昆山市建设局招投标网站

网站查询备案服务商,昆山市建设局招投标网站,物流网络规划名词解释,手机上如何制作app引言 ILRuntime是一款基于C#的热更新框架#xff0c;使用IL2CPP技术将C#代码转换成C代码#xff0c;支持动态编译和执行代码#xff0c;适用于Unity3D的所有平台#xff0c;包括Android、iOS、Windows、Mac等。本文将详细介绍ILRuntime在Unity3D中的开发原则及接口绑定技术…引言 ILRuntime是一款基于C#的热更新框架使用IL2CPP技术将C#代码转换成C代码支持动态编译和执行代码适用于Unity3D的所有平台包括Android、iOS、Windows、Mac等。本文将详细介绍ILRuntime在Unity3D中的开发原则及接口绑定技术并提供相关代码示例。 对惹这里有一个游戏开发交流小组希望大家可以点击进来一起交流一下开发经验呀 ILRuntime基本开发原则 理解两个不同执行环境 ILRuntime的逻辑热更项目中的类不能直接继承Unity C#项目中的类Unity C#项目中也不能直接识别逻辑热更项目中开发的“组件类”。Unity C#的对象实例与接口在逻辑热更项目中不能直接new出来需要通过Unity C#项目传递过来或直接调用Unity C#项目的接口生成。 逻辑热更项目的功能 逻辑热更项目主要负责代码逻辑使用Unity做好的资源、Unity引擎与Unity C#项目提供的基础服务。热更新时将逻辑热更项目生成的.dll当作二进制资源进行更新。 ILRuntime项目的启动流程 启动Unity C#的代码下载并加载最新的逻辑代码.dll逻辑热更项目生成。ILRuntime解释器解释执行逻辑代码.dll进入逻辑代码的入口。逻辑代码使用底层的资源、Unity组件与底层C#开发的接口。 接口绑定技术详解 ILRuntime通过生成绑定代码使得逻辑热更项目可以调用Unity引擎的API。这一技术主要依赖于.NET的.dll和ILRuntime的绑定机制。 绑定代码生成 在进行.dll开发时如果调用了其他.dll库生成.dll时会为调用的接口做一个“符号”。运行时根据符号加载依赖的.dll然后重定向这些符号使得在调用时能够跳到正确的函数。 具体实现步骤 安装ILRuntime插件导入Unity3D。创建一个热更新脚本继承ILRuntime.Runtime.CLRBinding.BindingCodeGenerator并实现GenerateBindingCode方法。在Unity3D中通过菜单栏的Tools-ILRuntime-Generate CLR Binding Code生成绑定代码。 代码实现 以下是一个简单的例子演示如何使用ILRuntime进行热更新及接口绑定。 创建热更新脚本 using System;using System.Collections.Generic;using ILRuntime.Runtime.CLRBinding;public class HotfixCodeGenerator : BindingCodeGenerator{public override IEnumerableType GetTypesToGenerate(){return new Type[] { typeof(int), typeof(string) };}public override IEnumerableMethodInfo GetMethodsToGenerate(){return null;}public override IEnumerablePropertyInfo GetPropertiesToGenerate(){return null;}public override IEnumerableFieldInfo GetFieldsToGenerate(){return null;}public override IEnumerableEventInfo GetEventsToGenerate(){return null;}public override IEnumerableType GetCrossBindingTypes(){return null;}} 生成绑定代码 在Unity3D中打开菜单栏的Tools-ILRuntime-Generate CLR Binding Code选择刚才创建的热更新脚本HotfixCodeGenerator.cs点击Generate按钮生成绑定代码。 创建HotfixManager脚本 using System.Collections;using System.Collections.Generic;using System.IO;using UnityEngine;using ILRuntime.Runtime.Enviorment;public class HotfixManager : MonoBehaviour{private static HotfixManager instance;public static HotfixManager Instance{get{if (instance null){instance FindObjectOfTypeHotfixManager();}return instance;}}private AppDomain appDomain;private void Awake(){instance this;}public void Init(){appDomain new AppDomain();string dllPath Application.streamingAssetsPath /Hotfix.dll;if (File.Exists(dllPath)){byte[] dllBytes File.ReadAllBytes(dllPath);MemoryStream dllStream new MemoryStream(dllBytes);appDomain.LoadAssembly(dllStream);}}public object Invoke(string typeName, string methodName, object[] args){object obj appDomain.Instantiate(typeName);return appDomain.Invoke(methodName, obj, args);}} 在游戏启动时初始化ILRuntime并加载DLL void Start(){HotfixManager.Instance.Init();// 其他初始化代码} 调用热更新代码 void Update(){if (Input.GetKeyDown(KeyCode.Space)){// 假设有一个热更新中的方法名为HotfixMethod没有参数HotfixManager.Instance.Invoke(Namespace.ClassName, HotfixMethod, null);}} 结论 ILRuntime为Unity3D提供了一种高效的热更新方案通过生成绑定代码使得逻辑热更项目能够调用Unity引擎的API。本文详细介绍了ILRuntime的基本开发原则、接口绑定技术并提供了具体的代码实现示例希望能够帮助开发者更好地理解和应用ILRuntime。 更多教学视频 Unity3D​ www.bycwedu.com/promotion_channels/2146264125
http://www.hkea.cn/news/14453515/

相关文章:

  • 网页小游戏网址seo网上培训
  • 东莞网站制作培训多少钱国外手机设计网站推荐
  • 深圳专业网站建设排名北京如何优化网站
  • 做网站怎么接活商城网站开发价格
  • 网站建设三方协议上海网站建设的企
  • 网站建设申请方案学习html5的网站
  • 做门户网站用什么软件备案老域名
  • 广州模板网站建设价格百度浏览官网
  • 做网站方面住房和城建设网站
  • 自己做开箱网站济南快速网站排名
  • 公司展示网站制作深圳网站建设 培训
  • 黄骅做网站|黄骅网站|黄骅百度优化|黄骅百度推广|黄骅微信|黄骅网站建设 风险
  • 做个网站好还是做淘宝好西安外贸网站建设
  • word做招聘网站网站与网页的区别.
  • 模板网站建设交互效果很好的网站
  • 广州网站制作哪家全面wordpress邮件找客户端
  • 中国建设工程造价管理协会网站招聘新开传奇手游
  • 深圳网站建 1设骏域网站建设有哪些竞价网站
  • 07年做网站关键词歌曲免费听
  • 北川建设局网站怎么防止网站被注册机
  • 沈阳网站企业咸阳机场建设招聘信息网站
  • 保靖网站建设同城信息发布平台
  • 网站换程序 搜索引擎wordpress主题代码框架
  • 安徽省网站肥建设网站动力无限西安网站建设
  • 做电商网站的wordpress js链接地址
  • 个人网站网页设计wordpress怎样在列表页使用瀑布流
  • 沈阳市建网站wordpress修改代码后
  • 网站域名过期了怎么办成功备案的网站增加域名
  • 百度商桥怎么绑定网站微商城开发公司有哪些比较好
  • 网站策划 ppt长沙seo服务