xcode项目中引入cocos2dx,需要先导入cocos2d_libs静态库。

1、把cocos2dx项目(cocos2dx在Mac上开发环境配置及新建工)中如下图所示资源拷贝到xcode工程根目录下


图1-1

2、在xcode工程中导入cocos2d_libs.xcodeproj


图1-2

注意optiens选择如下


图1-3

3、在项目中配置中选择targets,在Build Phases中添加Target Dependencies和Link Binary With Libraries


图1-4

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


图1-5
$(inherited) $(SRCROOT)/cocos2d $(SRCROOT)/cocos2d/cocos $(SRCROOT)/cocos2d/cocos/base $(SRCROOT)/cocos2d/cocos/physics $(SRCROOT)/cocos2d/cocos/math $(SRCROOT)/2d $(SRCROOT)/cocos2d/cocos/ui $(SRCROOT)/audio/include $(SRCROOT)/cocos2d/extensions $(SRCROOT)/cocos2d/external $(SRCROOT)/cocos2d/external/chipmunk/include/chipmunk $(SRCROOT)/cocos2d/cocos/editor-support

5、设置TARGETS中Header Search Paths,这里设置同第4步


图1-6

6、设置预处理的宏定义,Debug和Release,这里是以Iphone版本


图1-7
USE_FILE32API CC_TARGET_OS_IPHONE COCOS2D_DEBUG=1 CC_ENABLE_CHIPMUNK_INTEGRATION=1

图1-8
USE_FILE32API CC_TARGET_OS_IPHONE CC_ENABLE_CHIPMUNK_INTEGRATION=1

7、C / C++编译器的选择,这个与原本项目有关。


图1-9

8、关闭BitCode

上面完成之后,就可以尝试Build了,如果运气好的话,基本就可以成功了。

9、导入Classes和Resource


图1-10


如果直接导入Classes文件和Resource,运行异常如下


图1-11

检测导入后Complie Souces


图1-12


10、导入cocos2dx项目 proj.ios_mac->ios下的几个文件


图1-13


11、修改AppDelegate名称,否则与cocos::AppDelegate冲突
12、在ViewController.cpp中开启游戏

#import "ViewController.h"
#import "GAppDelegate.h"
#import "RootViewController.h"
#include "cocos2d.h"
@interface ViewController ()
{
    RootViewController *viewController ;
}
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view,typically from a nib.
    UIButton * bt = [[UIButton alloc] initWithFrame:CGRectMake(100,100)];
    bt.backgroundColor = [UIColor brownColor];
    [bt addTarget:self action:@selector(bt:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:bt];



}

//初始化
- (void)initGame {
    cocos2d::Application *app = cocos2d::Application::getInstance();
    // Initialize the GLView attributes
    app->initGLContextAttrs();
    cocos2d::GLViewImpl::convertAttrs();
}
//开启游戏
- (void)startGame {
    cocos2d::GLView *glview = cocos2d::GLViewImpl::createWithEAGLView((__bridge void *)viewController.view);
    cocos2d::Director::getInstance()->setopenGLView(glview);
    //run the cocos2d-x game scene
    cocos2d::Application::getInstance()->run();
}
- (void)bt:(UIButton*)bt {
    [self initGame];

    // Override point for customization after application launch.

    // Use RootViewController to manage CCEAGLView
    viewController = [[RootViewController alloc]init];
    // viewController.wantsFullScreenLayout = YES;

    ((GAppDelegate *)[[UIApplication sharedApplication] delegate]).root  = viewController;

    // [[UIApplication sharedApplication] setStatusBarHidden:true];


    [self presentViewController:viewController animated:YES completion:^{
        // IMPORTANT: Setting the GLView should be done after creating the RootViewController
        [self startGame];
    }];



}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // dispose of any resources that can be recreated.
}


@end

13.使用经过编译后的libcocos2d IOS.a,避免每次运行都要编译。(Cocos2d-x在xcode下开发生成静态库添加到项目)


屏幕快照 2017-06-19 下午4.21.11.png

参考
xcode中导入cocos2d_libs到自己项目中
Cocos2d-x在xcode下开发生成静态库添加到项目

Cocos2d-x系列二:xcode中导入cocos2d_libs到自己项目中的更多相关文章

  1. ios – Xcode找不到Alamofire,错误:没有这样的模块’Alamofire’

    我正在尝试按照github(https://github.com/Alamofire/Alamofire#cocoapods)指令将Alamofire包含在我的Swift项目中.我创建了一个新项目,导航到项目目录并运行此命令sudogeminstallcocoapods.然后我面临以下错误:搜索后我设法通过运行此命令安装cocoapodssudogeminstall-n/usr/local/bin

  2. ios – Xcode在发布时崩溃

    我正在开发iOS应用程序,我在应用程序中没有更改任何内容.但是在重新启动我的Mac时,XCode每次都会崩溃.不知道这是否重要,但我的聚光灯找不到任何应用程序当我打开取景器并使用快捷键cmdshiftH时我看到一个白色的窗户.Xcode不再启动并抛出此错误:我希望有一个人可以帮助我.这会导致与权限冲突吗?

  3. xcode找不到匹配的配置文件

    我有一个AdhociOS应用程序,它给了我“在xcode6中找不到匹配的配置文件”,我创建了一个Adhoc配置文件,下载它,双击它并在General–Identity下选择了一个团队.但我接着得到了那条消息,并尝试使用“修复问题”按钮没有帮助.在构建设置–供应配置文件–发布我有“自动”.任何人都可以帮助我,我完全迷失了……

  4. iOS:调试无法在XCode中运行

    我正在使用XCode4和iOSSDK4.3.我的调试工作正常,但现在我发现在设置断点时,应用暂停,但XCode不关注编辑器中的行.点击断点时也不会显示绿色箭头.我有一个在AppDelegate中分配的UINavigationController.当我在didFinishLaunchingWithOptions中设置断点时,一切都按预期工作:这是当一个断点暂停了mapViewController中的

  5. ios – 如何/是否在Xcode中制作通用故事板

    在Xcode中创建故事板文件时,您必须选择是否适用于iPhone或iPad.这意味着应始终将iPhone和iPadUI放入单独的故事板中.这是真的?我的应用程序有多个故事板.虽然Main.storyboard文件在iPhone和iPad之间存在很大差异,但其他故事板几乎完全相同.唯一的区别可能是推动iPhone与iPhone上的popover,可以通过编程方式处理.制作两个故事板似乎非常愚蠢和多余.因此,如果制作一个“通用”故事板,是否应该在Xcode中选择iPhone或iPad?

  6. xcode – 如何通过LLDB命令行添加断点操作?

    如果你从Xcode编辑一个断点,有一个超级有用的选项,可以添加一个“Action”,以便在每次遇到断点时自动执行.如何从LLDB命令行添加此类操作?

  7. XCode:将故事板导出到图像

    我有一个小问题……

  8. xcode6.1 – Xcode 6.1中项目模板中缺少类前缀

    项目模板上曾经有一个类前缀字段,这有助于区分项目类和框架类.Xcode6.1项目模板中不再提供此功能.这背后的意图是什么?

  9. 为Xcode中的iPhone 5手电筒应用调暗LED

    我期待用滑块选项调暗手电筒的LED.我知道Apple支持iOS6但是,我不确定要使用哪些代码.这是我目前在.m文件中的代码.解决方法–(BOOL)setTorchModeOnWithLevel:(float)torchLevel错误:(NSError**)outError你想要的是什么但是,从我所看到的,它只在某些间隔(~0.2)更新.编辑–完整示例:这是一个UiSlider.您需要在滑块上添加I

  10. ios – 将视频分享到Facebook

    我正在编写一个简单的测试应用程序,用于将视频从iOS上传到Facebook.由于FacebookSDK的所有文档都在Objective-C中,因此我发现很难在线找到有关如何使用Swift执行此操作的示例/教程.到目前为止我有这个在我的UI上放置一个共享按钮,但它看起来已禁用,从我读到的这是因为没有内容设置,但我看不出这是怎么可能的.我的getVideoURL()函数返回一个NSURL,它肯定包含视

随机推荐

  1. 【cocos2d-x 3.x 学习笔记】对象内存管理

    Cocos2d-x的内存管理cocos2d-x中使用的是上面的引用计数来管理内存,但是又增加了一些自己的特色。cocos2d-x中通过Ref类来实现引用计数,所有需要实现内存自动回收的类都应该继承自Ref类。下面是Ref类的定义:在cocos2d-x中创建对象通常有两种方式:这两中方式的差异可以参见我另一篇博文“对象创建方式讨论”。在cocos2d-x中提倡使用第二种方式,为了避免误用第一种方式,一般将构造函数设为protected或private。参考资料:[1]cocos2d-x高级开发教程2.3节[

  2. 利用cocos2dx 3.2开发消灭星星六如何在cocos2dx中显示中文

    由于编码的不同,在cocos2dx中的Label控件中如果放入中文字,往往会出现乱码。为了方便使用,我把这个从文档中获取中文字的方法放在一个头文件里面Chinese.h这里的tex_vec是cocos2dx提供的一个保存文档内容的一个容器。这里给出ChineseWords,xml的格式再看看ChineseWord的实现Chinese.cpp就这样,以后在需要用到中文字的地方,就先include这个头文件然后调用ChineseWord函数,获取一串中文字符串。

  3. 利用cocos2dx 3.2开发消灭星星七关于星星的算法

    在前面,我们已经在GameLayer中利用随机数初始化了一个StarMatrix,如果还不知道怎么创建星星矩阵请回去看看而且我们也讲了整个游戏的触摸事件的派发了。

  4. cocos2dx3.x 新手打包APK注意事项!

    这个在编译的时候就可以发现了比较好弄这只是我遇到的,其他的以后遇到再补充吧。。。以前被这两个问题坑了好久

  5. 利用cocos2dx 3.2开发消灭星星八游戏的结束判断与数据控制

    如果你看完之前的,那么你基本已经拥有一个消灭星星游戏的雏形。开始把剩下的两两互不相连的星星消去。那么如何判断是GameOver还是进入下一关呢。。其实游戏数据贯穿整个游戏,包括星星消除的时候要加到获得分数上,消去剩下两两不相连的星星的时候的加分政策等,因此如果前面没有做这一块的,最好回去搞一搞。

  6. 利用cocos2dx 3.2开发消灭星星九为游戏添加一些特效

    needClear是一个flag,当游戏判断不能再继续后,这个flag变为true,开始消除剩下的星星clearSumTime是一个累加器ONE_CLEAR_TIME就是每颗星星消除的时间2.连击加分信息一般消除一次星星都会有连击信息和加多少分的信息。其实这些combo标签就是一张图片,也是通过控制其属性或者runAction来实现。源码ComboEffect.hComboEffect.cpp4.消除星星粒子效果消除星星时,为了实现星星爆裂散落的效果,使用了cocos2d提供的粒子特效引擎对于粒子特效不了

  7. 02 Cocos2D-x引擎win7环境搭建及创建项目

    官网有搭建的文章,直接转载记录。环境搭建:本文介绍如何搭建Cocos2d-x3.2版本的开发环境。项目创建:一、通过命令创建项目前面搭建好环境后,怎样创建自己的Cocos2d-x项目呢?先来看看Cocos2d-x3.2的目录吧这就是Cocos2d-x3.2的目录。输入cocosnew项目名–p包名–lcpp–d路径回车就创建成功了例如:成功后,找到这个项目打开proj.win32目录下的Hello.slnF5成功了。

  8. 利用cocos2dx 3.2开发消灭星星十为游戏添加音效项目源码分享

    一个游戏,声音也是非常的重要,其实cocos2dx里面的简单音效引擎的使用是非常简单的。我这里只不过是用一个类对所有的音效进行管理罢了。Audio.hAudio.cpp好了,本系列教程到此结束,第一次写教程如有不对请见谅或指教,谢谢大家。最后附上整个项目的源代码点击打开链接

  9. 03 Helloworld

    程序都有一个入口点,在C++就是main函数了,打开main.cpp,代码如下:123456789101112131415161718#include"main.h"#include"AppDelegate.h"#include"cocos2d.h"USING_NS_CC;intAPIENTRY_tWinMain{UNREFERENCED_ParaMETER;UNREFERENCED_ParaMETER;//createtheapplicationinstanceAppDelegateapp;return

  10. MenuItemImage*图标菜单创建注意事项

    学习cocos2dx,看的是cocos2d-x3.x手游开发实例详解,这本书错误一大把,本着探索求知勇于发现错误改正错误的精神,我跟着书上的例子一起调试,当学习到场景切换这个小节的时候,出了个错误,卡了我好几个小时。

返回
顶部