C# 从Java调用Unity函数
我对unity还不熟悉: 我在Unity中创建了一个简单的立方体,并在上面添加了一些纹理。我旋转立方体。。。移动相机…然后导出到android studio。当我运行时,一切看起来都是统一的 但我想从android studio代码(编程行)中移动相机或多维数据集,但我找不到任何方法……“findViewById”或类似的方法来找到我的多维数据集:) 我试着制作一个C#文件(我只是把一个放在assets文件夹中),然后放:C# 从Java调用Unity函数,c#,android,unity3d,C#,Android,Unity3d,我对unity还不熟悉: 我在Unity中创建了一个简单的立方体,并在上面添加了一些纹理。我旋转立方体。。。移动相机…然后导出到android studio。当我运行时,一切看起来都是统一的 但我想从android studio代码(编程行)中移动相机或多维数据集,但我找不到任何方法……“findViewById”或类似的方法来找到我的多维数据集:) 我试着制作一个C#文件(我只是把一个放在assets文件夹中),然后放: public class test : MonoBehaviour {
public class test : MonoBehaviour {
public GameObject respawn;
void Start () {
Debug.Log("aaaaaaaaaaaaa1111111111111111");
if (respawn == null)
respawn = GameObject.FindWithTag("mamaie");
respawn.transform.Rotate(10f, 50f, 10f);
}
// Update is called once per frame
void Update () {
transform.Rotate(10f, 50f, 10f);
}
void LateUpdate()
{
transform.Rotate(10f, 50f, 10f);
}
}
所以。。。如何从编程行控制我的多维数据集(在unity中设计并在android studio中导入) 您可以使用UnityPlayer.UnitySendMessage
从Java调用C#函数
以下是参数的外观:
UnityPlayer.UnitySendMessage("GameObjectName", "MethodName", "parameter to send");
为了访问此功能,您必须将\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\classes
目录中的classes.jar包含到Android Studio项目中,然后使用导入com.unity3d.player.UnityPlayer导入它
您的C#代码:
让我们假设上面的脚本附加到名为“立方体”的游戏对象上
要从Java开始旋转,请执行以下操作:
UnityPlayer.UnitySendMessage("Cube", "startRotating", null);
UnityPlayer.UnitySendMessage("Cube", "stopRotating", null);
要从Java停止旋转,请执行以下操作:
UnityPlayer.UnitySendMessage("Cube", "startRotating", null);
UnityPlayer.UnitySendMessage("Cube", "stopRotating", null);
我照你说的做了,但是我;获取错误:位于com.unity3d.player.UnityPlayer.UnitySendMessage(不可用:-1);我修改了布尔旋转,并将其默认设置为true,运行后,它不会按默认方式旋转;我确信我的text.cs文件已“链接”到我的项目?当我使用UnitySendMessage时,我想以某种方式发送*.cs文件的名称?我将la 3-rd参数从“null”替换为“”,现在它不会崩溃。但是:我收到“SendMessage:对象多维数据集没有用于函数startRotating的接收器!”我发现:模型“多维数据集”没有选择任何脚本。在我设置文件之后。。。它使用AndroidJavaProxy-->