在 Unity 中,Wen 可以通过将 Objective-C 的函数导入为 extern 函数从 C# 调用 Objective-C 代码。但是如何从 Objective-C 调用 C# 脚本代码呢?
问问题
7342 次
5 回答
4
您可以使用
UnitySendMessage("GameObjectName1", "MethodName1", "Message to send");
您在其中填写将接收此消息的游戏对象名称和消息名称。
一旦您从本机代码收到此消息,您就可以实现自己的委托/事件。UnitySendMessage 的限制是当它到达 Unity 代码时,在您在本机代码中调用它后始终为 1 帧。而且它只能以字符串作为参数。但大多数时候这不是什么大问题。
于 2012-12-13T11:35:17.580 回答
2
用于此的方法是 UnitySendMessage。看看Building Plugins for iOS或这个部分用中文写的博客。
于 2012-12-13T08:56:38.197 回答
1
原来你可以创建一个回调方法,让你做任何你想做的事。
这是一个示例视频,显示它是为 OSX 完成的,但 C++ 代码是跨平台的。
这个人一直在为所有操作系统制作插件视频,但 mac 是迄今为止最酷的,因为它为您提供了指向 C# 代码的函数指针。
于 2013-09-17T16:03:38.960 回答
0
适用于 iOS 的统一通用插件,允许将 C# 与 Objective-C 混合 http://goo.gl/XDrQFh
统一 C#
var callbackClass = AKiOSMagic.CreateClass("MyCallbackClass", "NSObject");
callbackClass.AddMethod("methodWithArg:anotherArg:", (args)
{
// do something...
// args.GetObject(0);
// args.GetObject(1);
});
callbackClass.RegisterClass();
Objective-C
[[NSClassFromString(@"MyCallbackClass") new] methodWithArg:@"arg1" anotherArg:@"arg2"]
于 2013-10-03T20:04:50.430 回答