在iOS App中使用Cocos2d-x v 3.0

Reading time ~1 minute

iOS App Cocos2d-x 混编.


  1. 将cocos2d文件夹拖到UIKit项目文件夹中, 将libs.xcodeproj拖到Xcode项目里面
  2. Target Dependencies加入cocos2d的5个lib
  3. Link Binary With Libraries加入cocos2d的5个iOS lib
  4. 对照cocos2d Helloworld项目添加缺失的库,
  5. libs.xcodeproj的Architectures改成和项目一致(arm64这些)
  6. PROJECT的Always Search User Paths改为Yes, Header Search Path加入:
    $(inherited)
    $(SRCROOT)/cocos2d
    $(SRCROOT)/cocos2d/cocos
    $(SRCROOT)/cocos2d/cocos/base
    $(SRCROOT)/cocos2d/cocos/physics
    $(SRCROOT)/cocos2d/cocos/math
    $(SRCROOT)/cocos2d/cocos/2d
    $(SRCROOT)/cocos2d/cocos/ui
    $(SRCROOT)/cocos2d/cocos/network
    $(SRCROOT)/cocos2d/cocos/audio/include
    $(SRCROOT)/cocos2d/cocos/editor-support
    $(SRCROOT)/cocos2d/extensions
    $(SRCROOT)/cocos2d/external
    $(SRCROOT)/cocos2d/external/chipmunk/include/chipmunk
  1. TARGETS的Always Search User Paths改为Yes, Header Search Path加入以下两句:
    $(SRCROOT)/cocos2d/cocos/platform/ios
    $(SRCROOT)/cocos2d/cocos/platform/ios/Simulation
  1. 引用"cocos2d.h"的objc类后缀名都要改成.mm

注:

  1. 从Cocos2d Scene的页面返回时会崩溃的bug, 代码修改CCDirectorCaller:(v3.0, v3.2以后版本已修复)
    + (void)destroy
    {
        [s_sharedDirectorCaller destroy]; // modified
        [s_sharedDirectorCaller release];
        s_sharedDirectorCaller = nil;
    }

    - (void)destroy
    {// modified
        [displayLink invalidate];
        displayLink = nil;
        CCLOG("caller destroy");
    }
  1. CCEAGLView.mm在dealloc中removeObserver, 否则退出Cocos界面后所有弹出键盘都会崩溃:(v3.0, v3.2以后版本已修复)
    [[NSNotificationCenter defaultCenter] removeObserver:self];

(转.译)为了用户体验, 使用 iCloud 代替注册

这是一篇介绍关于提升体验的文章,主要探讨如何使用 iCloud 账户进行**安全、静默的验证**,从而可以让用户跳过注册界面。

Continue reading

Cocos2d-x下载头像(一)

Published on January 20, 2015