包含此页的版本:
不含此页的版本:
Unity 可以将单个 Java 和 Kotlin 源文件解释为单独的插件在 Unity 外部创建的一组代码,用于在 Unity 中创建功能。可以在 Unity 中使用两种插件:托管插件(使用 Visual Studio 等工具创建的托管 .NET 程序集)和本机插件(特定于平台的本机代码库)。更多信息
请参阅术语表.
Unity 支持在源文件中编写的 Java 和 Kotlin 代码,其中.java和.kt扩展。为此,Unity 将每个源文件解释为单独的插件,并在构建播放器时对其进行编译。如果您需要为单个项目编写少量代码,则这种类型的插件非常有用。如果您计划在多个项目中重复使用代码或将其分发给其他人,那么 Android 库或 Android 归档插件可能更合适。
要向 Unity 指示从 Java (.java) 或 Kotlin (.kt) 源文件,请按照下列步骤作:
.java) 或 Kotlin (.kt) 源文件。
【注】你可以将源文件放在项目中的任何文件夹中,但特殊用途位置(如StreamingAssets.如果将文件放置在这些位置,Unity 编辑器不会显示插件检查器。
以下示例演示了如何创建 Kotlin 源插件并从 C# 脚本访问其代码。这允许您在 Unity 项目中使用特定于 Android 的功能。
在项目的 Assets 文件夹中,创建一个名为 AndroidPlugins 的子文件夹,并添加一个 Kotlin (.kt) 文件。
object KotlinStringHelper {
@JvmStatic
fun getString(): String {
return "Hello from Kotlin"
}
}
选择 Kotlin 文件。在 检查器(Inspector) 窗口的 选择插件平台(Select Platforms for plugin) 分段下,启用 Android 平台。
选择应用。
在 Unity 中,创建一个 C# 脚本并添加以下代码。此代码使用 AndroidJavaClass 访问静态 Kotlin 方法getString.
using UnityEngine;
public class KotlinExamples : MonoBehaviour
{
void Start()
{
using (AndroidJavaClass cls = new AndroidJavaClass("KotlinStringHelper"))
{
string value = cls.CallStatic<string>("getString");
Debug.Log($"KotlinStringHelper.getString returns {value}");
}
}
}
将 C# 脚本附加到游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
请参阅术语表.有关详细信息,请参阅有关控制游戏对象的文档。
默认情况下,当您导出适用于 Android 的 Unity 项目时,Unity 会将所有 Java/Kotlin 文件复制到 Android Studio 项目。如果您在 Android Studio 中编辑这些文件,则更改不会反映在 Unity 项目中的原始文件中。如果您再次导出 Unity 项目,导出过程会覆盖您在 Android Studio 中的更改。
为了解决这个问题,Unity 提供了符号链接源构建设置。如果您选择此构建设置,Unity 会在 Android Studio 项目中创建一个指向 Unity 项目中的 Java/Kotlin 文件的符号链接,而不是复制文件。这意味着,如果您在 Android Studio 中编辑文件,更改将反映在原始 Unity 项目文件中。