Unity 与 OC 不得不说的故事。。

本文介绍如何在Unity中使用C#与C进行跨平台通信,包括C#头文件的使用、条件编译技巧及C方法的具体实现,如字符串复制和调用Unity的方法。

unity to oc 其实是 unity to c to oc啦
1 C# 头文件

using System.Runtime.InteropServices;

2 C# 方法

#if UNITY_IOS
            [DllImport("__Internal")] 
            private static extern string goCommunitet();
        #else
            private static string goCommunitet(){}
        #endif

3 C 方法 –注意:如果返回的是string或者object注意你返回的引用的生命周期哦否则会崩溃的

extern "C"
        {
           char* MakeStringCopy(const char* string)
            {
                if (string == NULL)
                    return NULL;
                char* res = (char*)malloc(strlen(string) + 1);
                strcpy(res, string);
                return res;
            }

            const char* goCommunitet(){
                string sz ="1234r54657";
                return MakeStringCopy(sz.c_str());
            }  
        }

oc to unity
C 方法

UnitySendMessage(gameobject的名字, 脚本方法名, 传递参数);
        例如:UnitySendMessage("Directional Light", "function", sz.c_str());
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值