Android中调用Unity3D探索

Android中调用Unity3D探索

调用方式

Android中调用U3D可以通过:

public static void UnitySendMessage(String var0, String var1, String var2)

第一个参数是指:调用方法所在脚本文件对应的gameobject名称,
第二个参数是指:调用方法名称,
第三个参数是指:调用参数(如果有多个参数,需要自己拼接,在Unity端接收后再拆解成多个参数)
此方法内部调用的是:

private static native void nativeUnitySendMessage(String var0, String var1, String var2);

在Unity3D和Android生命周期的测试中,我们发现Unity的生命周期要晚于Android,因Unity3D的调用在OnResume之后开始,也就意味着如果在Android端调用Unity端方法时,建议在OnResume后,否则因为Unity的加载等因素,会导致调用必须在OnResume之后才能完成。
以下是在Android生命周期中调用Unity3D相应处理方法的测试。

测试

测试发现:
在Android在调用Unity的方法需要在OnResume后才能得到Unity的响应,同样,在锁屏后android中可以正常响应,但Unity端已无法响应,需要等亮屏后且onResume后才能响应。

Android中调用Unity3D探索_第1张图片

总结

若想在Android内调用Unity3D内的功能,建议在OnResume和OnPause间进行,以防因U3D尚未加载完成或已结束,导致功能延迟。

你可能感兴趣的:(Android,unity3d,unity3d,android,调用-延迟,探索)