Unity3D 与 objective-c 之间数据交互。iOS SDK接口封装Unity3D接口
原地址:http://www.cnblogs.com/qingjoin/p/3638915.html
Unity 3D 简单工程的创建。与Xcode 导出到iOS 平台请看这
Unity3D 学习 创建简单的按钮、相应事件
Unity C# 代码
using UnityEngine;
using System.Collections;
using System.Runtime.InteropServices; public class testFeil : MonoBehaviour { [DllImport("__Internal")]
private static extern void c_ctest(); // Use this for initialization
void Start () { } // Update is called once per frame
void Update () { } void OnGUI()
{
//开始按钮 创建了一个按钮。
if(GUI.Button(new Rect(20,100,200,50),"qingyun "))
{
//System.Console.WriteLine("hello world");
print("hello qingyun !");
c_ctest();
// Debug.Log("up.up");
} } void testResult (string msg)
{
Debug.Log("testResult:" +msg);
} //这个是C#里的一个回调。用来接收数据是否传送成功。----这里的作用就是OC里的回调。
void testBtnResult (string msg)
{
Debug.Log ("btnPressSuccessssssssssss:"+msg);
}
}
.mm 文件里的OC 与 C 接口
//
// MeiyuPushSdkC.m
// MeiYuPushDemo
//
// Created by qingyun on 3/31/14.
// Copyright (c) 2014 qingyun. All rights reserved.
// #import "MeiyuPushSdkC.h"
#import "MeiyuPushSdk.h" @interface MeiyuPushSdkC : NSObject<MeiyuPushSdkDelegate> @end @implementation MeiyuPushSdkC - (id)init
{
id object = [super init]; [[MeiyuPushSdk my_initPush]setDelegate:self];
//sdk.delegate = self;
NSLog(@"initMeiyuPushSdkC");
return object;
} -(void)cTestResult
{
UnitySendMessage("Main Camera", "testBtnResult", "成功啦.哇哈哈哈");
} @end MeiyuPushSdkC *m_pushSdk = NULL; #if defined (__cplusplus)
extern "C"
{
#endif void c_ctest()
{
if(m_pushSdk == NULL)
{
m_pushSdk = [[MeiyuPushSdkC alloc]init];
}
MeiyuPushSdk *m = [MeiyuPushSdk my_initPush]; //objc_msgSend(obj, @selector(setName:),@"balabala");
[m cTest];
NSLog(@"testSuccess---------");
UnitySendMessage("Main Camera", "testResult", "-10862904$_^_$接口调用失败");
} #if defined (__cplusplus)
}
#endif
这样就把Unity3d 与OC 连到了一起。
具体可参考 unityFile.zip
Unity3D 与 objective-c 之间数据交互。iOS SDK接口封装Unity3D接口的更多相关文章
- Vue中独立组件之间数据交互
独立组件之间数据交互:通过自定义事件 组件A中的[数据],传递给组件B 1.创建组件A,组件B 2.组件B在实例创建完成时就开始监听事件[等待接收数据]:钩子 3.组件A中触发事件,发送数据 注意:接 ...
- python之 《进程之间数据交互和进程池》
1.进程q 进程呢就相当于一个房子,线程就相当于是房子里面在工作的人,那么一个房子的空间对于房子里面的人来说是共享的, 现在是多进程,也就是说有许多房子,很显然这个房子的空间只属于这个房子,不会属于其 ...
- Unity3D 与 objective-c 之间数据交互。iOS SDK接口封装Unity3D接口 .-- 转载
Unity 3D 简单工程的创建.与Xcode 导出到iOS 平台请看这 Unity3D 学习 创建简单的按钮.相应事件 Unity C# 代码 using UnityEngine; using Sy ...
- 8.【nuxt起步】-vue组件之间数据交互
那么现在问题来了,我现在是在index.vue获取了服务端的数据,怎么传值到maincontent.vue?当然你也可以把获取数据放在maincontent.vue,但假如有些数据同时在header, ...
- Vue组件之间数据交互与通信
Vue 的组件作用域都是孤立的,不允许在子组件的模板内直接引用父组件的数据.必须使用特定的方法才能实现组件之间的数据传递. 一.父组件向子组件传递数据 在 Vue 中,可以使用 props 向子组件传 ...
- 【笔记】.NET开发环境下使用PostgreSQL+Oracle_fdw 实现两个数据库之间数据交互操作(二)
一 新的可视化工具 因为前文所提到的,看不到外部服务器和外部表的问题,我更换了可视化工具. 好用的新工具PostgreSQL Maestro! 当然如此好用的工具不是免费的,如果想免费使用还请自己去找 ...
- Unity3d 与 Objective-C 数据交互,持续更新中
Unity 3D是用于3D游戏编程的语言,它是一个用C\C++编写的强大的库.而在游戏中经常要接入用OC编写的SDK,这就涉及到了Unity3d 和 OC之间的数据交互.XCode是完成兼容C语言的. ...
- Android进阶之Fragment与Activity之间的数据交互
1 为什么 因为Fragment和Activity一样是具有生命周期,不是一般的bean通过构造函数传值,会造成异常. 2 Activity把值传递给Fragment 2.1 第一种方式,也是最常用的 ...
- python的进程间的数据交互
#先来看下如何实现多进程 # multiprocessing 这个是python的多进程的模块,我们会用到这个模块的很多方法 from multiprocessing import Process i ...
随机推荐
- DOS删除服务
启动服务: net start 服务名 停止服务: net stop 服务名 卸载服务: 服务名 -uninstall 安装服务:sc create ser ...
- 8款超酷实用的CSS3 Tab菜单集合
1.CSS3华丽的Tab菜单 带小图标动画 之前我们分享过一款非常出色的CSS3 Tab菜单HTML5 SVG Tab滑块菜单,结合SVG,Tab菜单实现非常灵活.今天我们要再来分享一款基于CSS3的 ...
- highcharts实现统计图效果
highcharts实现统计图效果 ① 根据需求确定需要使用的案例图 把这个界面的html模板文件复制出来,放入./Application/Admin/View/User下改名为chart.html ...
- hdu 2057 A+B Again
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2057 题目分析:涉及到16进制内的加法,可以用%I64x直接来处理,要注意到16进制中负数是用补码来表 ...
- C语言求两个函数中的较大者的MAX函数
//求两个函数中的较大者的MAX函数 #include <stdio.h> int main(int argc, const char * argv[]) { printf("i ...
- 【Sharing】如何成为一名黑客
[声明]此文为转载,只为收藏. 从小到大听说了无数关于“电脑黑客”的故事,比如XXX入侵美国五角大楼,再比如前几年的“熊猫烧香”病毒,这些故事的主角都被我们的媒体称之为“黑客”.其实这些人,更大程度上 ...
- arguments.callee 调用函数自身用法----JSON.parse()和JSON.stringify()前端js数据转换json格式
arguments.callee 调用函数自身用法 arguments.callee 在哪一个函数中运行,它就代表哪个函数. 一般用在匿名函数中. 在匿名函数中有时会需要自己调用自己,但是由于是匿名函 ...
- jquery的$(document).ready()和onload的加载顺序
最近在改一个嵌入在frame中的页面的时候,使用了jquery做效果,而页面本身也绑定了onload事件.改完后,Firefox下测试正常流畅,IE下就要等个十几秒jquery的效果才出现,黄花菜都凉 ...
- 关于无限分类的树状输出(id,name,pid)类型的
首先创建无限分类的数据表,我这里采用的是id.name.pid这种类型(当然还有很多种无限分类的方式了,比如:id.name.pid.path.left.right左右节点的形式) CREATE TA ...
- Android Material Design:ViewPager与android.support.design.widget.TabLayout双向交互联动切换
通常,android.support.design.widget.TabLayout与Android的ViewPager联合使用,实现与ViewPager的切换与联动.(1)比如,当用户手指触摸选择T ...