unity3d游戏开发之回馈IOS高级界面消息.doc
上传人:qw****27 上传时间:2024-09-11 格式:DOC 页数:6 大小:249KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

unity3d游戏开发之回馈IOS高级界面消息.doc

unity3d游戏开发之回馈IOS高级界面消息.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

上一章介绍了IOS高级界面向unity3D发送消息与unity3d接收消息的过程,有去的消息当然要有回的消息这样的过程才算完美,本章MOMO向大家介绍Unity3D消息的回馈。HYPERLINK"http://unity.gopedu.com/"\t"http://unity.gopedu.com/_blank"出自狗刨学习网如下图所示,本章我们的目标是在Unity3D界面中添加两个GUI按钮,并且在iPhone上点击这两个按钮后分别弹出两个IOS高级界面的对话框。相信盆友们对GUI应该不会太陌生,在这里我在前调一下GUI就是Unity3D提供的一套UI系统。图中的两个UI按钮我就是用GUI做出来的。Project栏目中创建一个c#脚本,命名为Main.cs,之前没有使用过C#写脚本,今天我用C#来写这个脚本,哇咔咔~~~如下图所示将脚本拖动在摄像机上,脚本中声明两个Texture类型变量用来保存按钮绘制的图片资源。Main.cs代码usingUnityEngine;usingSystem.Collections;publicclassMain:MonoBehaviour{//声明两个Texture变量,图片资源在外面连线赋值publicTextureButton0;publicTextureButton1;//UsethisforinitializationvoidStart(){}//UpdateiscalledonceperframevoidUpdate(){}//这个方法用于绘制voidOnGUI(){//绘制两个按钮if(GUI.Button(newRect(0,44,120,120),Button0)){//返回值为ture说明这个按钮被点击SDK.ActivateButton0();}//绘制两个按钮if(GUI.Button(newRect(200,44,120,120),Button1)){//返回值为ture说明这个按钮被点击SDK.ActivateButton1();}}}复制代码这里详细说一下SDK这个类,这个类我们看作它是一个管理类,它不赋值在任意对象身上,只接受调用管理,点击两个按钮后将分别调用下面方法中的_ActivateButton0()与_ActivateButton1(),而这两个方法则是去调用xcode我们自己实现的方法_pressButton0()与_pressButton1(),前提上须下面代码中的注册,这样子导出项目的时候xcode会帮我们生成注册信息,我们只须要实现这两个方法就可以了。SDK.cs代码usingUnityEngine;usingSystem.Runtime.InteropServices;publicclassSDK{//导出按钮以后将在xcode项目中生成这个按钮的注册,//这样就可以在xocde代码中实现这个按钮点击后的事件。[DllImport("__Internal")]privatestaticexternvoid_PressButton0();publicstaticvoidActivateButton0(){if(Application.platform!=RuntimePlatform.OSXEditor){//点击按钮后调用xcode中的_PressButton0()方法,//方法中的内容须要我们自己来添加_PressButton0();}}//和上面一样[DllImport("__Internal")]privatestaticexternvoid_PressButton1();publicstaticvoidActivateButton1(){if(Application.platform!=RuntimePlatform.OSXEditor){_PressButton1();}}}复制代码这样子Unity3D部分已经完成,将Untiy3D项目导出成Xcode项目,我们用Xcode打开它。添加Unit3D中GUI按钮点击后的响应事件。创建一个类命名为MyView.h、MyView.m,用它来接收Unity3D回馈回来的消息,_PressButton0与_PressButton1这两个方法在Unity3D中已经注册过,所以在这个类中我们须要对它进行Xcode中的实现。MyView.m#import"MyView.h"@implementationMyView//接收Unity3D传递过来的信息void_PressButton0(){UIAlertView*alert=[[UI