gpt4 book ai didi

c# - 除了 xamarin 中的 Assets 之外,还可以使用代码加载关卡

转载 作者:行者123 更新时间:2023-11-29 01:46:08 25 4
gpt4 key购买 nike

我是 Xamarin 的新手,我已经在 SO 和 Google 上搜索过这个,但我没有找到正确的查询来得到我的答案。在 flex 中,我可以创建一个“模块”,它可以包含 Assets 、代码等,在该模块中,我可以根据主应用程序中的接口(interface)实现一个类,并在主应用程序加载后加载它。

在我编写的游戏中,我以这种方式加载关卡。它运行良好,因为核心应用程序是完全独立的,很少需要更新。

基本上想象一下,主应用程序有一个 IGameEngine 接口(interface)用于与它的任何交互,并且从云加载并在本地缓存的每个级别(就像愤怒的小鸟季节对级别所做的那样),将有一个 IGameEngine 的实现,它可能或可能与其他级别不同或不同,具体取决于该级别所需的功能。

我将使用 xamarin,因为我对 C# 很熟悉并且需要面向所有平台,因此需要最小化代码来做到这一点。我很可能也会使用 CocosSharp,因为它似乎是一个活跃的社区。

在 Xamarin 中我可以做类似的事情吗?如何?当我搜索 Xamarin“模块”时,我得到了关于如何在编译器中包含模块的一百万个结果,显然我在搜索错误的关键字。

很抱歉,有经验的用户可能会在 5 秒内在 Google 上找到一个问题,但我不知道从哪里开始。感谢社区提供的所有帮助!

最佳答案

就按需加载基于 .Net 的程序集而言,这不适用于未运行完整 Mono 堆栈(包括 JIT)的平台。

即MonoTouch/Xam.iOS(和 Xam.Mac 商店应用程序)不允许您即时动态加载基于 CIL 的程序集,因为这是 Apple 政策的自愿,不会通过他们的应用程序审核,因此没有 JIT'ing允许。所有代码(CIL 程序集)都必须在您的 IPA 中进行本地编译 (AOT) 和预打包。当然,您可以动态下载关卡元数据和媒体内容。

现在在像 Android 这样允许 native 代码或 Jit'ed 代码(即 Java)的平台上,Xamarin 提供了完整的 Mono 堆栈,您可以动态地将新程序集加载到您的进程中(通过网络下载或从闪存本地下载) ) 并且它将被即时 Jit 并执行。

关于c# - 除了 xamarin 中的 Assets 之外,还可以使用代码加载关卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31910252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com