c++ - 在 cocos2d-x 上使用参数从 Object-C 到 C++ 的函数回调

标签 c++ ios objective-c callback cocos2d-x

我在 IOS 上有一个项目 cocos2d-x,有 1 个登录场景,1 个场景发布图片到 facebook: 当单击场景 1 中的 1 个按钮时,它将登录到 facebook 并获取用户 ID,并且在 AppController 上的函数 sessionStateChanged 上它将调用场景 1 的 1 个函数并返回 userID 。在场景 2 中,当点击 按钮时,它会将图片发布到用户的墙上。问题是 AppController 上的 sesssionStateChanged 函数如何知道场景 1 或场景 2 的功能? 如果在 Android 上,它有一个像这样的 native 函数:

在 Java 上:

private static native void getFriendList(String _userID, String _friendList);

在 C++ 上

        extern "C"
{
    void Java_com_bestteam_ipostionchess_iPositionChess_getFriendList(JNIEnv *env,jobject thiz,jstring _userid,jstring _friendList){
        ///
    }
}

谁能给我解决方案?谢谢。

最佳答案

objectiveC 和 c++ 代码可以混合,你只需将文件类型设置为“Default Objective-c++ source” change file type

并将文件名从 .m 更改为 .mm

然后你就可以从你的 AppController.mm 中调用 c++ 函数了

关于c++ - 在 cocos2d-x 上使用参数从 Object-C 到 C++ 的函数回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27635775/

相关文章:

c++ - 使用gtest测试构造函数内部条件的方法是什么?

iphone - UIImage 中的绘制区域无法正确识别

C++ 自定义惰性迭代器

iphone - 未调用 didFailToReceiveAdWithError

ios - OS X 服务器机器人的文件存储在哪里

ios - 比较 OSX 和 iOS 两个节点的 SKColor?

iphone - Spiky Memory "Healthy"是 App 的吗?

objective-c - 如何使用核心文本和属性字符串伪造上标和下标?

c++ - 如何为 boost::bind 强制模板函数重载?

c++ - 接近值无冲突的 3D 哈希