unity3d中dllimport方法的使用,以接入腾讯平台为例!!!
2013-06-01 01:32
435 查看
转载自:http://momowing.diandian.com/post/2012-12-14/40047766982
如果有侵权,请通知我尽快删除!
说到有关dllimport方法可能还有很多人比较陌生,其实我自己也说不太清楚,大概说说什么时候要用它。
事实上功能类似于调用android的第三包,我们想要使用苹果上特定的api或者第三方平台的一些东西(现在很少第三方平台会为unity做独立的插件吧),我们就会用到这个叫dllimport的功能。
今天接了一下腾讯的平台,就拿它来做一个记录好了,免得我到时候又忘记了。
ios用的是obj-c,说实话对这个语言一窍不通还,大概看了一下,把握了一下demo里面的使用方法,所以有一些SB的地方也请原谅。
说说原理吧先~
在xcode中创建一个类文件,里面写好我们需要调用的方法,比如登陆啊,获取个人信息啊之类的方法,这些都是调用第三方包里腾讯封装好的功能:
熟悉obj-c的应该一眼就明白了。这个就是需要登陆验证的方法,就先来试试怎么调用这个方法吧~
现在把您手上的unity项目切换一下平台到ios,然后把他build出来,事实上这个时候我们得到的是一个xcode项目。(我这里习惯这个顺序,您也可以等会儿把我的方法倒过来顺序做)。
用xcode打开他~
在class文件夹下建一个obj-c的普通类,取名叫TencentConector得了。在xcode我们会得到两个文件一个“TencentConector.h”一个“TencentConector.m”。
现在按照腾讯的在线文档说的加入sdk中的三个文件夹(怎么加入就不细说了,或者我有空会补充)。
接着在同样按照官方说明在头文件(.h那个)里面创建两个变量。
上截图:
到这里其实跟官方的demo是一样的,没有说明差别。
接着是书写.m这个文件了:
我这里需要调用到3个方法,分别是初始化、验证、和获取个人信息。
这三个方法其实除了名称我变一下,内容就是抄demo里面的了,都是调用腾讯自己的api。
我们可以把这里的方法理解成是ios自己的方法,这些方法由于unity里面不能调用,所以我们现在引用dllimport的方法引用这三个方法。
上dllimport关联的方法
注意我这里是在@end后面开始写外链方法,方法名都以Obj_开头表示是给unity引用的obj-c方法。
我创建了一个静态变量,用来调用上面所写的方法。
接着补充一下腾讯的一些回调方法,和调用方法放在一块:
大家可能注意到我这里使用了之前说的UnitySendMassage方法。
好吧,为了调用这个方法,我们需要同样dllimport他一下
于是整个文件就是这样了:
需要的话可以下载:
头文件:http://www.kuaipan.cn/file/id_12421281643248500.htm
m文件:http://www.kuaipan.cn/file/id_12421281643248503.htm
最后就是在unity里面通过调用申明好的外链方法实现两部分关联了:
创建一个Tencent的类,直接上代码:
对于外链方法我们再用一个静态方法进一步封装,方便其他类调用。
比如我可以通过按钮点击触发:
现在在build一个版本到刚刚的位置,注意:不要覆盖(replace),而是整合(append)。
现在就可以实现基本的调用了,然后是回调。
回调时我们通过UnitySendMassage方法想一个叫TencentReceiver的gameobject发送了信息,所以我们在unity当前场景需要创建一个同名的gameobject,为他附上一个脚本,姑且也叫TencentReceiver。
姑且草草写了一下,赶着下班。现在发布吧,试试就知道了~
然后是刚刚几个源码文件:
Tencent.cs:http://www.kuaipan.cn/file/id_12421281643248499.htm
TencentReceiver:http://www.kuaipan.cn/file/id_12421281643248502.htm
如果有侵权,请通知我尽快删除!
说到有关dllimport方法可能还有很多人比较陌生,其实我自己也说不太清楚,大概说说什么时候要用它。
事实上功能类似于调用android的第三包,我们想要使用苹果上特定的api或者第三方平台的一些东西(现在很少第三方平台会为unity做独立的插件吧),我们就会用到这个叫dllimport的功能。
今天接了一下腾讯的平台,就拿它来做一个记录好了,免得我到时候又忘记了。
ios用的是obj-c,说实话对这个语言一窍不通还,大概看了一下,把握了一下demo里面的使用方法,所以有一些SB的地方也请原谅。
说说原理吧先~
在xcode中创建一个类文件,里面写好我们需要调用的方法,比如登陆啊,获取个人信息啊之类的方法,这些都是调用第三方包里腾讯封装好的功能:
熟悉obj-c的应该一眼就明白了。这个就是需要登陆验证的方法,就先来试试怎么调用这个方法吧~
现在把您手上的unity项目切换一下平台到ios,然后把他build出来,事实上这个时候我们得到的是一个xcode项目。(我这里习惯这个顺序,您也可以等会儿把我的方法倒过来顺序做)。
用xcode打开他~
在class文件夹下建一个obj-c的普通类,取名叫TencentConector得了。在xcode我们会得到两个文件一个“TencentConector.h”一个“TencentConector.m”。
现在按照腾讯的在线文档说的加入sdk中的三个文件夹(怎么加入就不细说了,或者我有空会补充)。
接着在同样按照官方说明在头文件(.h那个)里面创建两个变量。
上截图:
到这里其实跟官方的demo是一样的,没有说明差别。
接着是书写.m这个文件了:
我这里需要调用到3个方法,分别是初始化、验证、和获取个人信息。
这三个方法其实除了名称我变一下,内容就是抄demo里面的了,都是调用腾讯自己的api。
我们可以把这里的方法理解成是ios自己的方法,这些方法由于unity里面不能调用,所以我们现在引用dllimport的方法引用这三个方法。
上dllimport关联的方法
注意我这里是在@end后面开始写外链方法,方法名都以Obj_开头表示是给unity引用的obj-c方法。
我创建了一个静态变量,用来调用上面所写的方法。
接着补充一下腾讯的一些回调方法,和调用方法放在一块:
大家可能注意到我这里使用了之前说的UnitySendMassage方法。
好吧,为了调用这个方法,我们需要同样dllimport他一下
于是整个文件就是这样了:
头文件:http://www.kuaipan.cn/file/id_12421281643248500.htm
m文件:http://www.kuaipan.cn/file/id_12421281643248503.htm
最后就是在unity里面通过调用申明好的外链方法实现两部分关联了:
创建一个Tencent的类,直接上代码:
比如我可以通过按钮点击触发:
现在就可以实现基本的调用了,然后是回调。
回调时我们通过UnitySendMassage方法想一个叫TencentReceiver的gameobject发送了信息,所以我们在unity当前场景需要创建一个同名的gameobject,为他附上一个脚本,姑且也叫TencentReceiver。
然后是刚刚几个源码文件:
Tencent.cs:http://www.kuaipan.cn/file/id_12421281643248499.htm
TencentReceiver:http://www.kuaipan.cn/file/id_12421281643248502.htm
相关文章推荐
- unity3d中dllimport方法的使用,以接入腾讯平台为例!!!
- unity3d中dllimport方法的使用,以接入腾讯平台为例!!!
- unity3d中dllimport方法的使用,以接入腾讯平台为例
- unity3d中dllimport方法的使用,以接入腾讯平台为例!!!
- unity3d中dllimport方法的使用,以接入腾讯平台为例!!!
- 在Unity3D项目中接入ShareSDK实现安卓平台微信分享功能(可使用ShareSDK默认UI或自定义UI)
- ONENET平台简介及简单的接入方法
- unity3d 让角色运动之使用脚本(另一个方法为勾选Apply Root motion)
- C#直接使用DllImport外部Dll的方法
- 【cocos2d-js官方文档】二十三、如何在IOS平台上使用js直接调用OC方法
- Unity3D中uGUI事件系统简述及使用方法总结
- Linux系统平台下关于GCC编译及使用的方法 (-Werror,它要求GCC将所有的警告当成错误进行处理
- 用第三方会员系统(腾讯平台网站接入oauth)
- 度量快速开发平台自定义控件与自定义事件的使用方法
- Unity3d与iOS交互开发——接入平台SDK必备技能
- Unity3D中uGUI事件系统简述及使用方法总结
- unity3d-AircraftSimulator飞行模拟器(.unitypackage)的使用方法
- 中国气象网 气象数据开放平台 API使用方法 (Android)
- Unity3D中uGUI事件系统简述及使用方法总结
- ++在VC++.net平台下编译使用boost库的简捷方法