我是团结的新手:
我在Unity中创建了一个简单的立方体,并将一些纹理放在上面。我旋转立方体...移动相机....然后导出到Android工作室。当我运行时,所有内容都在Unity中。
但我想从android工作室代码(编程线)移动相机或立方体,我找不到任何方法..." findViewById"或类似的,以便能够找到我的立方体:)
我尝试创建一个C#文件(我只在资源文件夹中创建一个文件)并输入:
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);
}
}
那么......我如何从编程线控制我的立方体(在统一设计并在android studio中导入)?
答案 0 :(得分:1)
您可以使用UnityPlayer.UnitySendMessage
从Java调用C#函数。
这是参数的样子:
UnityPlayer.UnitySendMessage("GameObjectName", "MethodName", "parameter to send");
要访问此功能,您必须将{em> classes.jar 从<UnityInstallDirectory>\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes
目录包含到Android Studio项目中,然后将其导入import com.unity3d.player.UnityPlayer;
Android Studio Project。
您的C#代码:
bool rotate = false;
void startRotating()
{
rotate = true;
}
void stopRotating()
{
rotate = false;
}
void Update()
{
if (rotate)
transform.Rotate(10f, 50f, 10f);
}
让我们假设上面的脚本附加到名为“Cube”的GameObject。
从Java开始轮换:
UnityPlayer.UnitySendMessage("Cube", "startRotating", null);
停止来自Java的轮换:
UnityPlayer.UnitySendMessage("Cube", "stopRotating", null);