Call Unity function from Java

后端 未结 1 653
孤独总比滥情好
孤独总比滥情好 2020-12-04 03:07

I\'m new to unity :

I create in Unity a simple cube and put some texture over. I rotate the cube... move camera....then export to android studio. When I run everythi

相关标签:
1条回答
  • 2020-12-04 04:11

    You can call C# function from Java with UnityPlayer.UnitySendMessage.

    This is the what the parameters look like:

    UnityPlayer.UnitySendMessage("GameObjectName", "MethodName", "parameter to send");
    

    In order to have access to this function, you have to include classes.jar from the <UnityInstallDirectory>\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes directory into your Android Studio project then import it with import com.unity3d.player.UnityPlayer; in the Android Studio Project.

    Your C# code:

    bool rotate = false;
    
    void startRotating()
    {
        rotate = true;
    }
    
    void stopRotating()
    {
        rotate = false;
    }
    
    void Update()
    {
        if (rotate)
            transform.Rotate(10f, 50f, 10f);
    }
    

    Let's assume that the script above is attached to GameObject called "Cube".

    To start rotation from Java:

    UnityPlayer.UnitySendMessage("Cube", "startRotating", null);
    

    To stop rotation from Java:

    UnityPlayer.UnitySendMessage("Cube", "stopRotating", null);
    
    0 讨论(0)
提交回复
热议问题