【IOS-COCOS2D-X 游戏开发之十四】XCODE中C++&OBJECT-C混编,详细介绍如何在COCOS2DX中访问OBJECT函数以及APPLE API

简介:
本站文章均为  李华明Himi  原创,转载务必在明显处注明: 
转载自【黑米GameDev街区】 原文链接:  http://www.himigame.com/iphone-cocos2dx/743.html

Cocos2dx系列博文的上一篇详细介绍了如何在Xcode中利用jni调用Android的Java层代码,还没有看过的童鞋,请移步到如下博文:

【iOS-cocos2d-X 游戏开发之十三】详细讲解在Xcode中利用预编译并通过Jni调用Android的Java层代码(cocos2dx里访问调用Android函数)! 

本篇继续介绍另外一个在Cocos2dx中必经之路:在Cocos2dx中调用苹果Api以实现后期iOS的GameCenter和iap的相关操作, 那么Himi这里就跟大家简单分享探讨下;如何在Xcode中进行c++与oc混编吧~

参考王哥说的 SimpleAudioEngine 类;

首先Himi建立了两个类,一个object-c ,一个c++,详细如下:

HSpriteOC.h

HSpriteOC.m

这个类比较简单,简单定义了几个静态函数,打印和显示一个提示框,不赘述,大家大概看下就可以了;

下面来看c++的类:

HSpriteCPP.h

HSpriteCPP.cpp

此类是个自定义精灵类,都是简单的创建等函数,其HSprite.cpp类的导入和在 myInit() 自定义初始化函数中都加入了预编译(#if #else #endif 对预编译不太了解的自定百度下吧),主要为了区别当前手机设备的平台区分做处理;而且在myInit()中我使用了object-c语法进行调用之前OC写的HSprite类函数;

其实通过观察以上两个类童鞋们估计很容易看出在xcode中cpp和oc如何混编;其实就是两点:

1. 混编的类需要将其实现类(.cpp)改成(.mm)类,那么Xcode就会智能知道这个类混编类了,不用复杂的操作;

2. 混编中cpp调用oc,其实就是各自使用各自语法即可,没差异!(最好对OC和c++都比较熟悉更效率)

然后Himi在HelloWorldScene.cpp中加入以下测试代码:

别忘记导入对应使用的类哦~OK,看运行效果:

相关文章
|
7月前
|
自然语言处理 IDE 开发工具
Xcode 26.0.1 (17A400) 发布 - Apple 平台 IDE
Xcode 26.0.1 (17A400) 发布 - Apple 平台 IDE
634 1
|
7月前
|
自然语言处理 IDE 开发工具
Xcode 26 (17A324) 正式版发布 - Apple 平台 IDE
Xcode 26 (17A324) 正式版发布 - Apple 平台 IDE
750 0
|
7月前
|
IDE 开发工具 iOS开发
Xcode 26 beta 7 (17A5305kTF) - Apple 平台 IDE
Xcode 26 beta 7 (17A5305kTF) - Apple 平台 IDE
325 4
|
8月前
|
自然语言处理 IDE 开发工具
Xcode 26 beta 5 (17A5295f) - Apple 平台 IDE
Xcode 26 beta 5 (17A5295f) - Apple 平台 IDE
170 0
Xcode 26 beta 5 (17A5295f) - Apple 平台 IDE
|
9月前
|
IDE 开发工具 iOS开发
Xcode 26 beta 4 (17A5285i) - Apple 平台 IDE
Xcode 26 beta 4 (17A5285i) - Apple 平台 IDE
202 0
Xcode 26 beta 4 (17A5285i) - Apple 平台 IDE
|
9月前
|
自然语言处理 IDE 开发工具
Xcode 26 beta 3 (17A5276g) - Apple 平台 IDE
Xcode 26 beta 3 (17A5276g) - Apple 平台 IDE
190 1
Xcode 26 beta 3 (17A5276g) - Apple 平台 IDE
|
10月前
|
自然语言处理 IDE 开发工具
Xcode 26 beta 2 (17A5241o) - Apple 平台 IDE
Xcode 26 beta 2 (17A5241o) - Apple 平台 IDE
152 0
Xcode 26 beta 2 (17A5241o) - Apple 平台 IDE
|
10月前
|
自然语言处理 IDE 开发工具
Xcode 26 beta (17A5241e) 发布 - Apple 平台 IDE
Xcode 26 beta (17A5241e) 发布 - Apple 平台 IDE
926 0
Xcode 26 beta (17A5241e) 发布 - Apple 平台 IDE
|
11月前
|
IDE 测试技术 开发工具
Xcode 16.4 (16F6) 发布 - Apple 平台 IDE
Xcode 16.4 (16F6) 发布 - Apple 平台 IDE
1529 1
Xcode 16.4 (16F6) 发布 - Apple 平台 IDE
|
IDE 开发工具 Swift
Xcode 16.3 (16E140) - Apple 平台 IDE
Xcode 16.3 (16E140) - Apple 平台 IDE
1337 1
Xcode 16.3 (16E140) - Apple 平台 IDE