一、xcode中在自己项目中引入cocos2dx,需要导入cocos2d_libs静态库。首先需要到官网下载cocos2d引擎,cocos2d引擎下载链接点击进入官网

二、将cocos2d引擎拷贝到工程目录,在工程中add Files..添加到工程中。

三、添加依赖库

四、对工程进行配置

1、Build Settings中配置
设置Valid Architectures

2、Build Options ->Enable Bitcode 设置为NO

3、设置Other Linker Flages 如下

$(_COCOS_LIB_IOS_BEGIN)
$(_COCOS_LIB_IOS_END)
-ObjC

4、project中设置Header Search Paths,相对路径,cocos2d文件夹放在ImportCocos2D2.xcodeproj的同级目录,所以是这个路径。$(SRCROOT)是.xcodeproj所在位置

$(SRCROOT)/cocos2d/cocos
$(SRCROOT)/cocos2d/ui
$(SRCROOT)/cocos2d/external
$(SRCROOT)/cocos2d/extensions
$(SRCROOT)/cocos2d/cocos/audio/include
$(SRCROOT)/cocos2d/cocos/editor-support
$(SRCROOT)/cocos2d/extensions/GUI/CCControlExtension
$(SRCROOT)/cocos2d/external/chipmunk/include/chipmunk
$(SRCROOT)/cocos2d/cocos/platform/ios
$(SRCROOT)/cocos2d/cocos/platform/ios/Simulation

5、设置Other C flages
-DNS_BLOCK_ASSERTIONS=1
6、

7、Apple LLVC 7.0 – PreProcessing
debug :
USE_FILE32API
CC_TARGET_OS_IPHONE
COCOS2D_DEBUG=1
CC_ENABLE_CHIPMUNK_INTEGRATION=1

Release
USE_FILE32API
CC_TARGET_OS_IPHONE
CC_ENABLE_CHIPMUNK_INTEGRATION=1

8、Apple LLVM 7.0 Warnings –All languages

9、设置pch路径

五、利用cocos2d引擎创建coco2d游戏工程

没有配置过cocos2d,需要运行cocos2d目录下的setup.py,根据提示进行配置,如果只是在iOS项目使用,可以直接回车。还要运行在安卓等其他设备上需要进行对应的配置。
$ cd cocos2d-x
$ ./setup.py //创建新项目
$ cocos new -p com.test.mygames -l cpp -d ~/mygame myGames

六、加载cocos2d游戏文件,需要修改delegate名称,修改main中代理名称


//main函数内容
#import <UIKit/UIKit.h>
#import "AppController.h"int main(int argc, char * argv[]) {@autoreleasepool {return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppController class]));}
}

在AppController中设置主控制器,在RootViewController中加载游戏场景。

//设置主控制器
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {[self setSupportPortrait:true];window = [[UIWindow alloc] initWithFrame: [[UIScreen mainScreen] bounds]];[[UIApplication sharedApplication] setIdleTimerDisabled:YES];HomeController *HomeVC = [[HomeController alloc]init];// Set RootViewController to windowif ( [[UIDevice currentDevice].systemVersion floatValue] < 6.0){window.rootViewController = HomeVC;}else{[window setRootViewController:HomeVC];}[window makeKeyAndVisible];return YES;
}

在HomeViewController中初始化游戏引擎方法如下:

-(BOOL)initCocos2dxEngine
{self.navigationController.navigationBarHidden = YES;rapidjson::Document doc;doc.SetObject();rapidjson::Document::AllocatorType& allocator = doc.GetAllocator();rapidjson::Value object(rapidjson::kObjectType);object.AddMember("game_id", _gameID, allocator);rapidjson::StringBuffer buffer;rapidjson::Writer<rapidjson::StringBuffer> write(buffer);object.Accept(write);std::string gameConfig = buffer.GetString();_sharedApplication = new AppDelegate();_sharedApplication->setGameConfig(gameConfig);cocos2d::Application *app = cocos2d::Application::getInstance();app->initGLContextAttrs();cocos2d::GLViewImpl::convertAttrs();// Init the CCEAGLViewCGRect rc = [self.view bounds];CGRect rc1;rc1.origin.x = 0;rc1.origin.y = 0;rc1.size.width = rc.size.height;rc1.size.height = rc.size.width;CCEAGLView *eaglView = [CCEAGLView viewWithFrame: rc1pixelFormat: (__bridge NSString*)cocos2d::GLViewImpl::_pixelFormatdepthFormat: cocos2d::GLViewImpl::_depthFormatpreserveBackbuffer: NOsharegroup: nilmultiSampling: NOnumberOfSamples: 0 ];// Enable or disable multiple touches[eaglView setMultipleTouchEnabled:NO];[self.view addSubview:eaglView];cocos2d::GLView *glview = cocos2d::GLViewImpl::createWithEAGLView((__bridge void*)eaglView);cocos2d::Director::getInstance()->setOpenGLView(glview);app->run();return YES;
}
//pch内容
#ifdef __OBJC__#import <Foundation/Foundation.h>#import <UIKit/UIKit.h>
#endif#ifdef __cplusplus#include "cocos2d.h"
#endif

运行效果:

iOS导入cocos2d游戏相关推荐

  1. 初学者开发iOS游戏的入门必备用书——iOS 5 cocos2d游戏开发实战(第2版)

    如果想接触iOS游戏开发,今天笔者就推荐一本"大杀器"--<iOS 5 cocos2d游戏开发实战(第2版)>(当当链接) 为零基础的"设想过自己写个电脑游戏 ...

  2. iOS 5 cocos2d游戏开发实战(第2版)

    <iOS 5 cocos2d游戏开发实战(第2版)> 基本信息 作者: [美]Steffen Itterheim Andreas Low [作译者介绍] 译者: 同济大学苹果俱乐部 丛书名 ...

  3. 【IOS】如何在cocos2d 游戏中添加 移动广告

    最近有需要在一款Cocos2d 游戏里面添加移动广告,大家都知道,现在有很多的移动广告平台,每个平台都有自己的SDK,每个SDK的方法,流程又都不一样,找来找去,找到了 果合移动广告. 它自己的网站上 ...

  4. Cocos2d游戏开发之如何解包获得pvr.ccz中的美术资源

    Cocos2d游戏开发之如何解包获得pvr.ccz中的美术资源 在大部分时候,Cocos2d游戏会将美术资源打包以减轻性能要求,提高加载速度.而如果我们需要获得其中的美术资源,就得解包.这里以plis ...

  5. [air for ios] 三小时开发一个iOS飞行射击游戏

    [air for ios] 三小时开发一个iOS飞行射击游戏 http://www.badyoo.com/index.php/2012/07/04/158/index.html 2012-07-04 ...

  6. IOS塔防游戏《坦克对大炮》的开发设计记录

    IOS塔防游戏<坦克对大炮>的开发设计记录 引子 游戏已经在App Store上线几个月了,一直很想写点什么记录一下.真要写的时候,却又发现无从下笔没啥好写的.在2012年进入IOS,对于 ...

  7. 图文并茂使用CocosBuilder制作Cocos2D游戏 分享0

    图文并茂使用CocosBuilder制作Cocos2D游戏  分享0 目 录 The Game 设置工程 创建动画类型的主界面 本文由Zynga 工程师原创,翻译:Iven,张作宸,Butterfly ...

  8. Cocos2D游戏初步

    切页 是电子书的核心 320 * 416 UILabel电子书切页 NSString * s = @"asdfsdfasd"; CGSize maxSize = CGSizeMak ...

  9. Cocos2d游戏开发学习记录——2.使用Cocos2D Graphic实现僵尸的移动

    文章目录 1.游戏引擎Cocos2D 2.图形引擎Cocos2D Graphic 3.实践一 4.Cocos2D的坐标体系 5.CCNode 6.实践二 7.CCAction 8.实践三 9.CCAn ...

最新文章

  1. SAP PM入门系列22 - IH06 Display Functional Location
  2. 油猴脚本第一家,网页网盘链接实时判断+资源搜索网站导航,资源重度患者的福利...
  3. 一道关于引用传递和值传递的JS题
  4. Laravel的请求声明周期
  5. university of liverpool writing techniques
  6. Java学习笔记_数组
  7. 默认网关出现乱码_SpringCloudZuul服务网关
  8. zookeeper 大量连接断开重连原因排查
  9. 将程序添加防火墙白名单
  10. 【GDB调试学习笔记】Makefile生成多个可执行文件
  11. cocos2dx 圆盘抽奖_Cocos2D-X转盘游戏制作教程:博彩大转盘
  12. 阿里云邮件推送使用方法
  13. 软件工程专业职业规划发展路线
  14. 计算机毕业设计springboot+vue+elementUI高校志愿者管理系统(源码+系统+mysql数据库+Lw文档)
  15. html全屏轮播图插件,js全屏banner图片轮播插件
  16. 关于UE4坐标换算涉及到的知识
  17. CSS解决hover选择器生硬效果
  18. Oracle PL / SQL – UPDATE触发器之前的示例
  19. 充电桩APP开发方案
  20. 新版Zotero插件更新

热门文章

  1. ubuntu如何安装python3.7_ubuntu安装python3.7
  2. golang sleep库使用
  3. 扩展桌面:扩展屏幕没有连接,但程序还在扩展屏幕上,在看不到这个屏幕的情况下,怎么把程序窗口拉回来
  4. SONY a7S III解析
  5. php网站漏洞大全,Webvulscan:一款基于PHP的漏洞扫描器
  6. CSP-J2021第一轮C++试题第一道完善程序题详解
  7. 利用现代OpenGL API大幅度减少由于执行驱动导致CPU的开销
  8. 2021 年 iOS 应用程序开发七种最佳语言
  9. 优麒麟系统虚拟机重启之后共享文件夹不可用了(为空文件夹)
  10. 抛弃RPM/DEB,迎接AppImage