查看原文
其他

Unity技巧:制作相似度99%的安卓原生系统弹窗

2016-08-18 翻译:黄威 Gad-腾讯游戏开发者平台


目标
这篇文章的主要目的就是帮助你使用Unity创建安卓原生弹窗。

最后你会得到这样的结果:




是否想要以安卓标准来显示弹窗?

你是否想要减少额外的图形来达到减小应用大小的效果?

你是否想要用Unity显示原生弹窗来提供更好的使用体验?

如果你有上述的任一问题,那你就找对人了。在这篇文章,我将会用Unity来创建安卓原生弹窗。


什么是弹窗?


弹窗就是一个小屏或是一些警告消息,它们能够提醒使用者采取一些行动。


接下来我们将会创建三种类型的弹窗:


现在让我们创建一些单一弹窗。



第一步 在Unity中设置场景


在你的资源文件夹中创建新的Unity项目并保存场景。

为三个弹窗创建三个按钮:



第二步 创建脚本然后给每个按钮分配参考值


首先创建一个脚本,然后给它随便起个名字。我把它叫做PopupView.cs。现在让我们写一些代码,这样我们就能够在按钮的点击中添加事件监听器了。

给每一个按钮都创建一个方法,然后为每一个按钮点击事件都分配参考值,为安卓原生对话返回的消息状态创建枚举。



现在,让我们为原生弹窗动作定义代理事件监听器。



第三步 创建脚本与安卓文件(.jar文件)进行交互


现在我们创建一个叫做AndroidNative.cs的脚本来直接地与安卓代码进行交互:




第四步 创建脚本来产生不同的弹窗


消息弹窗

A) 创建NativeMessage.cs文件来为单一消息弹窗进行基础设置:



B) 为单一消息弹窗创建AndroidMessage.cs:





确认弹窗

A) 创建NativeDialog.cs文件来为对话消息弹窗进行基础设置:





B) 为对话消息弹窗创建AndroidDialog.cs:







反馈弹窗

A) 创建NativeRateUs.cs文件来为反馈弹窗进行基础设置:





B) 为反馈弹窗创建AndroidRateUsPopUp.cs:







注意

在这一阶段(每个弹窗的B部分)我们创建了gameobject,我们使用gameobject的名字来获得反馈。我们在UnitySendMessage()中也使用了这个名字来从安卓处获得反馈。所以不要改变gameobject的名字。




第五步 设置安卓文件


太棒了!你已经完成了基本代码!


现在,让我们在原生安卓中用AndroidStudio或是Eclipse编辑器来创建弹窗吧。

首先,我们要创建新的安卓项目。如果你对Android Studio不熟悉或是不知道如何创建新的项目,请参考在Android Studio中创建新的项目。

现在先不用担心代码的事情,只要把它复制粘贴到你的文件中就好了。

注意
如果你在创建项目或是创建文件的事情遇到了任何问题,你可以下载本篇文章底部的源代码。如果你下载完这个项目,你可以将插件文件夹复制到你的Unity项目中。

回到Android Studio中来,创建一个名叫PopupManager的文件。


现在在新创建的文件中复制以下代码:




注意

在这一部分我们使用了UnityPlayer.UnitySendMessage()来给Unity发送信息,并且我们使用了gameobject的名字作为参数。这必须与特定的弹窗部分中创建的gameobject相匹配(c#文件)。
现在将那个文件从AndroidStudio或是Eclipse编辑器中导出为.jar文件,并把这个.jar文件放进Plugins >> Android文件夹。

如果你在创建项目或是创建.jar文件的事情遇到了任何问题,你可以下载下面链接的源代码,把插件文件夹“导入”(拖拽)到你的Unity项目中就可以了。

我希望这篇文章对你有一定帮助。如果你对安卓原生弹窗有任何问题或疑问,欢迎在评论部分给我们留言,我会尽快回复你的。

对于游戏开发有新的想法?你还在等什么?现在就联系我们然后看着你的奇思妙想变成现实。我们的公司被称为印度最好的Unity3D游戏开发公司之一。
 
【Tips】附件请直接在本页下载,谢谢。
 
【版权声明】
原文作者未做权利声明,视为共享知识产权进入公共领域,自动获得授权。



近期热文

Unity秘籍:来,一起让臃肿的游戏瘦个身

Unity老司机分享 | 有关Unity渲染路径的比较



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存