• Cocos2d-x项目创建之 原生ios项目导入Cocos2d框架

    上一章: Cocos2d-x项目创建之 静态库生成


    第一步,“Cocos2d-X源码和“预编译静态库”准备

    Cocos2d-X源码可在官网下载,如:



    Cocos2d-X 预编译静态库生成方法: Cocos2d-x项目创建之 静态库生成


    第二步,原生iOS项目导入“Cocos2d-X源码和“预编译静态库”

    1.预编译静态库导入:(本方法只导入“模拟器Debug”环境的静态库,其他环境静态库导入方法雷同!)

    如图:

    2.Cocos2d-X源码包导入,Cocos2d-X源码包粘贴复制放在 MyFirst项目 的一级目录中:(Cocos2d-X源码包,用于cocos项目开发过程中使用,相当于将官方API集成在工程本地文件中。用于开发过程中,代码API调用!)

    如图:


    3.Cocos2d-X源码包引用:(Cocos2d-X源码包,用于cocos项目开发过程中使用,相当于将官方API集成在工程本地文件中。用于开发过程中,代码API调用!)

    (1)、[project] -- [Build Setting] -- [Header Search Paths]:

    $(SRCROOT)/cocos2d-x-3.10

    $(SRCROOT)/cocos2d-x-3.10/cocos

    $(SRCROOT)/cocos2d-x-3.10/cocos/base

    $(SRCROOT)/cocos2d-x-3.10/cocos/physics

    $(SRCROOT)/cocos2d-x-3.10/cocos/math

    $(SRCROOT)/cocos2d-x-3.10/cocos/2d

    $(SRCROOT)/cocos2d-x-3.10/cocos/ui

    $(SRCROOT)/cocos2d-x-3.10/cocos/network

    $(SRCROOT)/cocos2d-x-3.10/cocos/audio/include

    $(SRCROOT)/cocos2d-x-3.10/cocos/editor-support

    $(SRCROOT)/cocos2d-x-3.10/extensions

    $(SRCROOT)/cocos2d-x-3.10/external

    $(SRCROOT)/cocos2d-x-3.10/external/chipmunk/include/chipmunk



    (2)、[targets] -- [Build Setting] -- [Header Search Paths]:

    $(inherited)

    $(SRCROOT)/cocos2d-x-3.10/cocos/platform/sos

    $(SRCROOT)/cocos2d-x-3.10/cocos/platform/ios/Simulation



    (3)、[targets] -- [Build Setting] -- [Library Search Paths]:

    $(SRCROOT)/cocos2d-x-3.10/prebuilt/ios

    $(PROJECT_DIR)


    4.设置pch路径,使用 Prefix.pch 文件。如图:



    第三步,配置Cocos2d-X开发所需框架,如图:



    第四步,Cocos2d-X工程环境配置

    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.设置Other C flages 

    -DNS_BLOCK_ASSERTIONS=1 

    如图:


    5.设置 C Language Dialect 为 Compiler Default,如图:


    6.设置 PreProcessor Macros

    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

    如图:


    7.设置Apple LLVM [7/8/9/10……] - Warnings - All languages,如图:



    第五步,将原有的Cocos2d-X工程文件导入新搭建的ios原生项目中,分别对照“原有的Cocos2d-X工程”修改iOS原生项目,如图:

    运行项目,大搞成功!!!


    注意:如果运行失败,可能是iOS支持框架添加有误,也可能是工程配置文件配置有误!!!

    项目报错:

    1.类似 std::basic_string/std::string::find………………

    解决方案:可能是因为导入的框架不合理或者方法不对,也可能是导入的框架类型或者版本不对,因此不支持C++编译环境,检查导入iOS支持的框架。或者删除重新导入支持库。

    如果,仍然报错,就导入libstdc++.dylib或者libstdc++.6.0.9.dylib即可


    2.类似 "_deflateReset", referenced from:…………………  "*******", referenced from:………………

    可能是因为导入的框架不合理或者方法不对,也可能是导入的框架类型或者版本不对,因此不支持C++编译环境,检查导入iOS支持的框架。或者删除重新导入支持库。

    或者检查工程配置文件的参数修改是正确…………


    展开全文
  • 最近公司想尝试新的工作流程,将重复性的UI场景搭建工作从开发者手里释放,转交给UI设计师,调研的第一对象就是Cocos Creator。...cocos2d-x: v3.14+Cocos Creator: 1.4+ 一、首先是下载安装Cocos Creator 。 下载链

    最近公司想尝试新的工作流程,将重复性的UI场景搭建工作从开发者手里释放,转交给UI设计师,调研的第一对象就是Cocos Creator。

    我这里细说一下整个的一个流程。大致是参考的官网贴出来的方式,但是感觉不太细致。所以自己总结一下。

    版本要求:

    • cocos2d-x: v3.14+
    • Cocos Creator: 1.4+

    一、首先是下载安装Cocos Creator 。

    下载链接移步cocos官网下载安装,具体安装步骤这里就不贴出来了。

    二、下载导入插件。

    这里贴一下原文的链接,可以参考一下。Cocos Creator的C++和Lua支持:alpha0版发布

    creator_to_cocos2dx_cpp是用来导出 Cocos Creator制作的场景给cocos2d-x工程使用的插件, 它包含两部分内容:

    • 首先,它是Cocos Creator的插件,该插件把用Cocos Creator制作的场景导出为 .ccreator 文件
    • 第二,它包含了可以解析 .ccreator 文件的reader,该reader可以用在cocos2d-x的c++/lua工程里

    注意,虽然插件名字里只提了cpp,但是Lua工程同样可以使用。

    下载

    有两种下载方式:

    下载完的包当中包括一个名为“creator_project”的Creator工程,我们可以打开看一下。

    这时我们会发现菜单  项目 中多了一条 LuaCpp Support,这里就是相关的导出文件的插件。

    三、使用插件生成必要的文件
    依次点击 项目->LuaCpp Support->Setup TargetProject 
    project path 即Cocos2d-x 的目标工程,路径填好之后直接Build,成功之后,会直接在cocos2d-x的Classes文件夹下生成名为reader的文件。
    Resources会生成相关的资源文件夹creator,这里说明已经导入成功了。
    插件的具体位置在creator_project/packages/creator-luacpp-support
    使用插件时候,将该插件拷贝到自己的Creator工程下的相应文件夹下即可。

    四、在cocos2d-x工程里使用导出的资源和reader
    我这里Cocos2d-x新建了一个HelloWorld工程,插件导出的资源也是用Creator自带的HelloWorld工程导出的reader文件。

    这里用Xcode打开HelloWorld 工程,在Build Settings中找到Header Search Paths添加引用路径……/Classes/reader

    工程文件夹Classes中手动添加reader文件到工程当中,
    Resources中手动添加引用文件creator


    using it from for c++
    // mygame.cpp
    
    #include "reader/CreatorReader.h"
    
    void some_function()
    {
        creator::CreatorReader* reader = creator::CreatorReader::createWithFilename("creator/Scene/helloworld.ccreator");
    
        // will create the needed spritesheets + design resolution
        reader->setup();
    
        // get the scene graph
        Scene* scene = reader->getSceneGraph();
    
        // ...and use it
        Director::getInstance()->replaceScene(scene);
    }
    正常的情况下已经可以在真机上跑通了。如果有问题,可能是Frameworks少了等……报错的话,查找相应的方法就可以了。


    之后可能会再补充

    展开全文
  • xcode中在自己项目中引入cocos2dx,需要导入cocos2d_libs静态库。 以cocos2dx3.3为例 1.cocos new -l cpp Demo  创建出一个叫Demo的新项目,然后把该项目中cocos文件夹拷贝到自己原来的项目(MyCocos)所在文件夹下。...

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

    以cocos2dx3.3为例

    1.cocos new -l cpp Demo

      创建出一个叫Demo的新项目,然后把该项目中cocos文件夹拷贝到自己原来的项目(MyCocos)所在文件夹下。

         

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

      

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

     


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

      


    5.设置TARGETS中Header Search Paths

      


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

     




    7.修改Custom Compiler Flags



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


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


    注意点:1. OC中引用到C++的地方,要把.m文件改成.mm文件。

                  2.如果出现cocos2d.h之类的文件找不到的话,那么肯定是第四第五步中的Header Search Path中路径出错了。有时候需要把第四步中在PROJECT设置一起写到第五步TARGETS的位置。

                  3.如果是出现xxxNotificationxxx的错误的话,那么就要再加上以下两个库

                    

                  4.如果编译出错是size_t, clock_t,assert之类的错误的话,那么可能是你在别的地方引入第三库文件时候和cocos2dx中有相同的部分,然后编译时候出现混乱导致。那么设置Always Search User Paths 为NO,可以解决。

                  

                   5.libpng error: CgBI: unhandled critical chunk

                      

    展开全文
  • 在上一节,我们看了怎样搭建一个javaScript的开发环境,这一节我们将继续研究如何将cocos2d自带实例如何导入cocos code ide并且运行出来,为什么这样做,我们先预留这样的问题在这个地方。 首先我们创建一个项目:...

    在上一节,我们看了怎样搭建一个javaScript的开发环境,这一节我们将继续研究如何将cocos2d自带实例如何导入到cocos code ide并且运行出来,为什么这样做,我们先预留这样的问题在这个地方。

    首先我们创建一个项目:


    这个是我们创建的项目,自动生成的目录,现在我们要导入引擎中自带的一个实例:哪这个实例被放在了那个里面:


    我们可以看到的是在自带的项目中里面也是包含src,res,main.js,index.html,还有project.json,是的,细心的肯定也会发现在我们创建项目中也有这些目录,既然是重复了,我们自然要删除,所以我们将创建项目的时候自带的这些文件删除(建议不要去覆盖,经过多次试验,覆盖容易发生错误)


    删除之后我们在自带的实例里面的这几个文件夹,复制粘贴到这个项目里面(复制粘贴的时候仅仅复制我们删除的那些文件,对于其他的文件就不要去复制了,如果你想试试,随你)

    复制到项目之后,我们打开一project.json这个文件,将里面引擎的路径改一下:

     "engineDir":"../../frameworks/cocos2d-html5",

    改为:

     "engineDir":"frameworks/cocos2d-html5",

    更改之后:


    然后我们就可以运行了,运行结果:


    就这样,我们将引擎中自带的项目就可在看到了,希望对你有所帮助,下一步熟悉自己创建项目中里面的里面语法所代表的含义。


    展开全文
  • iOS导入cocos2d游戏

    2016-04-20 17:25:54
    一、xcode中在自己项目中引入cocos2dx,需要导入cocos2d_libs静态库。首先需要到官网下载cocos2d引擎,cocos2d引擎下载链接点击进入官网二、将cocos2d引擎拷贝到工程目录,在工程中add Files..添加到工程中。 三、...

    一、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 window
        if ( [[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 CCEAGLView
        CGRect 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: rc1
                                 pixelFormat: (__bridge NSString*)cocos2d::GLViewImpl::_pixelFormat
                                 depthFormat: cocos2d::GLViewImpl::_depthFormat
                          preserveBackbuffer: NO
                                  sharegroup: nil
                               multiSampling: NO
                             numberOfSamples: 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

    运行效果:
    这里写图片描述

    展开全文
  • 以下内容转自:http://www.cocoachina.com/bbs/read.php?tid=194668 我们在VS中找到"解决方案资源管理器", 在解决方案...在弹出的对话框中选择C:\Work\HelloCocos\cocos2d\cocos\editor-support\cocostudio\pro
  • xcode项目中引入cocos2dx,需要先导入cocos2d_libs静态库。 1、把cocos2dx项目(cocos2dx在Mac上开发环境配置及新建工)中如下图所示资源拷贝到xcode工程根目录下 图1-1 2、在xcode工程中导入cocos2d_...
  • 打开Android Studio,选择Import project,如下图所示 4.选择生成的Cocos项目 5.选择导入选项,这里保持默认就可以 6.选择工程名和路径,这里不要修改... [Cocos路径]\cocos2d\cocos\platform\a
  • 在windows环境中用cocos2d开发游戏,开发成功后导入到Android  1.首先用VS确定游戏能正常编译及运行。  2.配置好Android环境--(JDK+SDK+NDK+ANT+exlipse)  3.打开Eclipse在Package ... 4.分别导入cocos2d项目
  • Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境(亲测) 分类: Cocos2d-x游戏开发 编程语言学习2013-06-29 22:34 25853人阅读 评论(81) 收藏 举报  写这篇博客时2D游戏引擎Cocos2d-x的最新版本为...
  • 初次入手是根据cocos官网给的这篇教程 https://docs.cocos.com/cocos2d-x/manual/zh/installation/Android-Studio.html 但是执行到第二步的时候就对不上了 ...但还是在刚导入cocos的proj.an...
  • 前提是你安卓环境,python,NDK都已经下载安装好了  1、创建项目 ...2、导入项目到Eclipse 点击File,import,接着如图所示 点击Browse,选择你安卓项目所在的位置,如下图所示: 接着直接F...
  • 转载自:http://blog.csdn.net/sevenseeker/article/details/22943967 以熊同学奇怪大冒险为例子,源码下载地址:... ...使用上面的例子,假如我想导入bzdmx项目,执行create_project.py脚本,进入Do
  • ecilpse 导入 cocos2d - JS 项目 :
  • 右键Import android项目,选择libcocos2dx所在路径,“..\cocos2d\cocos\platform\android\java”2.右键-&gt;"Properties"-&gt;"Android"-&gt;"Library"-&gt;"...
  • 工具准备 Cocos2d-android源码:https://github.com/john-difool/cocos2d-android ...2.打开cocos2d_android的AndroidManifest.xml,并删除其中的Application节点 3.打开Gradle Scripts→build...
  • Cocos2d-JS最引以为傲的能力就是完美的一次开发,全平台部署得能力。得益于3.0版中Web引擎和Native引擎的整合,Cocos2d-JS为Web和各原生平台开发提供了一套统一的工作流,开发者只需要关注自己的JavaScript代码,...
  • 自己一开始有点蒙,感觉b
  • 导入cocos2dx库 与项目根目录同级3.修改build.gradle和setting.gradle(修改内容较多,参考cocos安卓项目的配置文件改)5.把cocos文件夹放在安卓项目同级目录下 与项目根目录同级6.按照cocos项目的AndroidManifest....
  • Cocos2d-android游戏引擎

    2016-11-18 10:44:08
    什么是游戏引擎游戏引擎是指一些已编写好的可编辑游戏系统或者一些交互式...Cocos2d家族cocos2d是一个开源的游戏开发框架,利用它可以非常容易的开发2D游戏。 包括以下成员 Cocos2d-x Cocos2d-iphone Cocos2d-android
1 2 3 4 5 ... 20
收藏数 5,209
精华内容 2,083