canvas教程

实现Unity和Android进行交互(3)

字号+ 作者:H5之家 来源:H5之家 2017-04-10 09:02 我要评论( )

settings ??点击player settings进行一些android 导出的设置。在这里我们设置apk的名称为UnityDemo,显示为横屏,设置包名为cn.unity.demo,要注意的是把install location设置为Automatic,否则apk会安装失败,同时


settings


??点击player settings进行一些android 导出的设置。在这里我们设置apk的名称为UnityDemo,显示为横屏,设置包名为cn.unity.demo,要注意的是把install location设置为Automatic,否则apk会安装失败,同时需要指定apk的签名。


名称


横屏


包名


签名

??最后点击build导出apk,如果已经连接上android设备的话,可以直接build and run进行导出和启动。


导出apk

??看下我们最终实现的效果


效果

4 Android上调用Unity的方法

??以上我们实现了unity上调用android的方法,那么android上如何调用unity的方法呢,我们先回到unity的AndroidControl脚本。添加方法OnTimeResult,注意在这里需要导入UnityEngine.UI包usingUnityEngine.UI;

public void OnTimeResult (string result) { Text text = GameObject.Find ("TimeShow").GetComponent<Text> (); text.text = result; }

??上面代码的意思是获取名称为TimeShow的对象,然后将该对象上的Text脚本的文本改为得到的result。所以我们需要将之前的Text对象名称改为TimeShow


修改名称


??回到android的MainActivity,修改方法showToast,让Toast时间的时候同时调用OnTimeResult方法修改text的文本。

) { new Handler(Looper.getMainLooper()).post(new Runnable() { public void run() { if (mToast == null) { mToast = Toast.makeText(MainActivity.this, text, Toast.LENGTH_SHORT); } else { mToast.setText(text); } mToast.show(); UnityPlayer.UnitySendMessage("Canvas","OnTimeResult",text); } }); }

??UnityPlayer.UnitySendMessage("Canvas","OnTimeResult",text);方法的意思是调用名称为Canvas对象上的OnTimeResult方法,传入的参数为text。这样我们的操作就完成了,重复上面的操作,我们来看下效果。


效果

5 使用adb logcat查看日志

??上述的过程已经完成了unity和android之间的方法的相互调用,但是问题来了。这样没有出错还好,一旦出错,如何查看日志呢。这个时候我们可以使用android的adb工具了。(使用之前我们需要配置环境变量,至于如何配置adb的环境,这里就不多阐述了)。
??在unity的脚本代码中,增加日志的输出。并导出apk

public void OnTimeResult (string result) { Text text = GameObject.Find ("TimeShow").GetComponent<Text> (); text.text = result; Debug.Log ("UnityTime-->"+result); }

??打开控制台,输入adb logcat -s Unity,然后打开apk,点击button,这个时候就可以看到刚刚的日志输出了。(ps:更多的adb logcat的语法可以自己百度google查看)

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Android学习笔记:Paint及Canvas的简单应用

    Android学习笔记:Paint及Canvas的简单应用

    2017-04-08 13:06

  • Node + FFmpeg 实现Canvas动画导出视频

    Node + FFmpeg 实现Canvas动画导出视频

    2017-04-05 18:03

  • Android Canvas练习(9)自已绘分割突出效果的饼图(Pie Chart)

    Android Canvas练习(9)自已绘分割突出效果的饼图(Pie Chart)

    2017-04-04 17:01

  • canvas实现钟表效果

    canvas实现钟表效果

    2017-04-04 11:04

网友点评