上一章介绍了IOS高级界面向Unity3D 发送消息与Unity3D 接收消息的过程,有去的消息当然要有回的消息这样的过程才算完美,本章MOMO向大家介绍Unity3D消息的回馈。
成都创新互联公司为企业级客户提高一站式互联网+设计服务,主要包括网站设计制作、成都做网站、成都App定制开发、小程序设计、宣传片制作、LOGO设计等,帮助客户快速提升营销能力和企业形象,创新互联各部门都有经验丰富的经验,可以确保每一个作品的质量和创作周期,同时每年都有很多新员工加入,为我们带来大量新的创意。
如下图所示,本章我们的目标是在Unity3D 界面中添加两个GUI按钮,并且在iPhone上点击这两个按钮后分别弹出两个IOS 高级界面的对话框。相信盆友们对GUI应该不会太陌生,在这里我在前调一下GUI就是Unity3D 提供的一套UI系统。图中的两个UI 按钮我就是用GUI做出来的。
Project栏目中创建一个c#脚本,命名为Main.cs ,之前没有使用过 C#写脚本,今天我用C#来写这个脚本,哇咔咔~~~ 如下图所示将脚本拖动在摄像机上,脚本中声明两个Texture 类型变量用来保存按钮绘制的图片资源。
Main.cs 代码
[代码]c#/cpp/oc代码:
02 |
using System.Collections; |
04 |
public class Main : MonoBehaviour { |
06 |
//声明两个Texture变量,图片资源在外面连线赋值 |
07 |
public Texture Button0; |
08 |
public Texture Button1; |
10 |
// Use this for initialization |
15 |
// Update is called once per frame |
23 |
if(GUI.Button(new Rect(0,44,120,120),Button0)) |
26 |
SDK.ActivateButton0(); |
30 |
if(GUI.Button(new Rect(200,44,120,120),Button1)) |
33 |
SDK.ActivateButton1(); |
这里详细说一下SDK这个类,这个类我们看作它是一个管理类,它不赋值在任意对象身上,只接受调用管理,点击两个按钮后将分别调用下面方法中的_ActivateButton0() 与 _ActivateButton1(),而这两个方法则是去调用xcode 我们自己实现的方法_pressButton0() 与 _pressButton1(), 前提上须下面代码中的注册,这样子导出项目的时候xcode会帮我们 生成注册信息,我们只须要实现这两个方法就可以了。
SDK.cs 代码
[代码]c#/cpp/oc代码:
02 |
using System.Runtime.InteropServices; |
07 |
//导出按钮以后将在xcode项目中生成这个按钮的注册, |
08 |
//这样就可以在xocde代码中实现这个按钮点击后的事件。 |
09 |
[DllImport("__Internal")] |
10 |
private static extern void _PressButton0 (); |
12 |
public static void ActivateButton0 () |
15 |
if (Application.platform != RuntimePlatform.OSXEditor) |
17 |
//点击按钮后调用xcode中的 _PressButton0 ()方法, |
24 |
[DllImport("__Internal")] |
25 |
private static extern void _PressButton1 (); |
27 |
public static void ActivateButton1 () |
29 |
if (Application.platform != RuntimePlatform.OSXEditor) |
这样子Unity3D 部分已经完成,将Untiy3D项目导出成Xcode项目,我们用Xcode打开它。添加Unit3D中GUI按钮点击后的响应事件。创建一个类命名为 MyView.h 、MyView.m,用它来接收Unity3D 回馈回来的消息,_PressButton0 与 _PressButton1 这两个方法在Unity3D中已经注册过,所以在这个类中我们须要对它进行Xcode中的实现。
MyView.m
[代码]c#/cpp/oc代码:
04 |
@implementation MyView |
10 |
UIAlertView *alert = [[UIAlertView alloc] init]; |
11 |
[alert setTitle:@"雨松MOMO程序世界"]; |
12 |
[alert setMessage:@"点击了第一个按钮"]; |
13 |
[alert addButtonWithTitle:@"确定"]; |
21 |
UIAlertView *alert = [[UIAlertView alloc] init]; |
22 |
[alert setTitle:@"雨松MOMO程序世界"]; |
23 |
[alert setMessage:@"点击了第二个按钮"]; |
24 |
[alert addButtonWithTitle:@"确定"]; |
OK大功告成,连上真机运行我们的项目,我们在iPhone中点击了Unity3D 中GUI这两个按钮后,通过消息的回馈顺利的弹出IOS高级界面 的对话框,哇咔咔~
本文题目:Unity3D游戏引擎之回馈iOS高级界面消息
文章位置:http://www.shufengxianlan.com/qtweb/news17/3717.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
广告
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源:
创新互联