IOS高级界面发送消息与Unity3D消息的接收

原文来自:http://www.xuanyusong.com/archives/517

本例实现游戏背景是Unity3D 的游戏世界,前面添加IOS的高级界面的按钮,并且点击这些按钮可以将消息传递给背景的Unity3D ,让它做一些事情。

打开Unity3D导出的AppController.mm这个类,头文件处先导入我们的这个类 #import “MyView”找到下面这个方法,来添加view

int OpenEAGL_UnityCallback(UIWindow** window, int* screenWidth, int* screenHeight,  int* openglesVersion)


在return之前加入

MyView * myView =  [[MyView alloc] init];

 [UnityGetGLViewController().view addSubview:myView.view];


如果发现显示的是白色,把view的背景色设置为透明。

[self.view setBackgroundColor:[UIColor clearColor]];


然后再在MyView中编辑按钮。

按钮的响应事件方法

-(void)LeftButtonPressed{

    UnitySendMessage("Cube","GRight","");

}

这里主要说一下下面这个方法,它是Unity底层帮我们写好的一个方法,意思iPhone向向Unity发送消息,

 

参数1:场景中的模型名称,Cube就是我们定义的一个箱子。

参数2:脚本方法名称MoveLeft就是上面脚本中的方法,

参数3:为一个char *类型的 可以向Unity中传递数据。

 

UnitySendMessage(“Cube”,”MoveLeft”,”");

我们可以向Unity3D中任意模型发送消息调用它绑定的脚本中的方法,当前前提是模型名称、方法名称、 参数都填写正确。


你可能感兴趣的:(Unity3D)