• cocos2d-x已经发展的相对完善了,从项目创建、编译、运行到最后的打包都有相应的便捷工具,开发者只需要关注自己的游戏逻辑代码即可,这一点很赞,可是傻瓜式的编程,让我至今还只停留在使用vs建项目小...

    一、实验背景

    cocos2d-x已经发展的相对完善了,从项目的创建、编译、运行到最后的打包都有相应的便捷工具,开发者只需要关注自己的游戏逻辑代码即可,这一点很赞,可是傻瓜式的编程,让我至今还只停留在使用vs建个空项目做个小demo的阶段,我根本不知道cocos2d-x项目究竟是如何组织的,那些项目与项目之间的关系,那些库文件的引用,那些属性的配置,那些路径设置,那些宏定义究竟是在哪里,为什么会出现两个窗口,一大片属性究竟是什么意思,,所以很有必要研究一下。现在把实验过程同大家交流一下,有什么说的片面或不对的地方,欢迎大家提出,一同进步。

    二、实验目标

    1.使用vs从一个空项目配置成为一个可以运行cocos2d-x官方lua demo的项目。

    2.学习vs项目属性配置相关知识。

    三、实验条件

    Virtual Studio 2013 Update3 、 cocos2d-x-3.2  Jul.17 2014(将其解压在桌面上,安装配置好cocos2d-x)

    四、实验步骤与注意事项

    1.使用vs在桌面上创建一个win32控制台应用程序的空项目,我这就叫test,按照下图二的目录结构进行创建,其中文件( 包括资源文件)都是从引擎根目录下找到并复制到项目中的,这里的cpps就是所谓的“自己编写的cpp代码”。

     

    (1)默认vs的空项目的解决方案和项目名称相同,一个解决方案可以包含多个项目,一个解决方案对应一个程序,test项目默认为核心,其他项目为其服务,生成lib和dll。头文件、源文件、资源文件三个是文件筛选器,相当于逻辑目录,只是便于管理文件,与文件的物理路径无关,我习惯将其对应起来。外部依赖项不由自己控制,包含外部库的头文件。上图三四是我配置完成后的项目,包含cpps(自定义cpp逻辑代码),luas(自定义的lua逻辑代码),res(程序的资源文件)。

    (2).sdf是一个数据库文件,编译时自动生成,存放工程信息,与代码提示相关。.sln文件是解决方案文件,保存的是解决方案信息,是一个解决方案中不同项目之间的关系文件。

    2.项目-》属性管理器,右键Debug|win32,添加现有属性表,从cocos2d-x引擎根目录(以下称$(EngineRoot))下找到  $(EngineRoot)\cocos\2d\

    cocos2d_headers.props和cocos2dx.props两个文件添加。

    3.回到解决方案管理器,右键test->属性,c/c++->常规->附加包含目录,添加上如下目录

    $(EngineRoot)cocos\scripting\lua-bindings\auto
    $(EngineRoot)cocos\scripting\lua-bindings\manual
    $(EngineRoot)cocos\audio\include
    $(EngineRoot)external\lua\lua
    $(EngineRoot)external\lua\tolua
    $(EngineRoot)external\chipmunk\include\chipmunk
    

    (1)附加包含目录:其实就是“自己编写的cpp代码”需要查找头文件和原文件的位置。

    (2)$(EngineRoot)是在cocos2d_headers.props和cocos2dx.props中定义的

    4.预处理器,这一步是定义cocos2dx中类似平台_WINDOWS这样的代码(我说我为什么有的时候不明白这个究竟是从哪定义到的,这里恍然大悟)

    懒死,复制吧,嘿嘿

    WIN32
    _WINDOWS
    STRICT
    _CRT_SECURE_NO_WARNINGS
    _SCL_SECURE_NO_WARNINGS_DEBUG
    COCOS2D_DEBUG=1

    5.附件库目录

    $(EngineRoot)external\lua\luajit\include\;$(EngineRoot)external\lua\luasocket\;$(EngineRoot)external\lua\tolua\;$(EngineRoot)external\xxtea\;$(EngineRoot)cocos\scripting\lua-bindings\;$(EngineRoot)external\ConvertUTF\;$(EngineRoot)external\edtaa3func\;$(EngineRoot)external\tinyxml2\;$(EngineRoot)external\unzip\;$(EngineRoot)external\xxhash\;$(EngineRoot)3d\;$(EngineRoot)base\;$(EngineRoot);$(EngineRoot)deprecated\;$(EngineRoot)math\;$(EngineRoot)physics\;$(EngineRoot)platform\;$(EngineRoot)renderer\;$(EngineRoot)2d\;$(EngineRoot)cocos\audio\include\;$(EngineRoot)cocos\audio\win32\;$(EngineRoot)cocos\editor-support\cocosbuilder\;$(EngineRoot)external\json\;$(EngineRoot)external\json\internal\;$(EngineRoot)cocos\editor-support\cocostudioActionTimeline\;$(EngineRoot)cocos\editor-support\;$(EngineRoot)cocos\editor-support\spine\;$(EngineRoot)cocos;etwork\;$(EngineRoot)cocos\storage\local-storage\;$(EngineRoot)cocos\ui\;$(OutDir);%(AdditionalLibraryDirectories)

    (1)这个是我从$(EngineRoot)中复制的。

    (2)附加库目录->添加第三方库需要查找的目录,这一步之后, 外部依赖项就自动添加了,打开来看会发现里边有好多.h,以后使用#include "*****.h"就无忧了。

    6.附加依赖项

    (1)附加依赖项,就是所谓的库文件了lib,静态库文件,其实有了他们,就相当于是有了第五步中的.h们对应的.cpp们(我是这么理解的),到时候“写入”(我这不懂,姑且这么叫吧)到exe中。

    (2).dll是动态链接库,是在运行时才能加载的,不会被写入最终文件.exe中。所以经常见到绿色软件.exe外部有他们。

    7.两个小窗口(这里还在研究中,不知道这里对应那块代码,这样设置就对了)

    8.预生成事件

    (1)生成事件分为三种,预先生成事件=》编译之前执行的事件;预连接事件=》链接之前的事件;后期生成事件=》编译之后的事件

    (2)这里用到的是命令行代码,我主要是复制了一些文件

    //预先生成事件
    if not exist $(PorjectDir) mkdir $(ProjectDir)
    xcopy "$(EngineRoot)cocos\scripting\lua-bindings\script\*.lua" "$(ProjectDir)" /e /y
    //预连接事件
    if not exist $(OutDir) mkdir $(OutDir)
    xcopy "$(EngineRoot)build\$(Configuration).win32\*.lib" "$(OutDir)" /e /y
    xcopy "$(EngineRoot)build\$(Configuration).win32\*.dll" "$(OutDir)" /e /y
    
    //后期生成事件
    if not exist $(OutDir) mkdir $(OutDir)
    if not exist $(OutDir)res\ mkdir $(OutDir)res\
    if not exist $(OutDir)luas\ mkdir $(OutDir)luas\
    xcopy "$(ProjectDir)*.lua" "$(OutDir)" /e /y
    xcopy "$(ProjectDir)*.dll" "$(OutDir)" /e /y
    xcopy "$(ProjectDir)res\*" "$(OutDir)\res" /e /y
    xcopy "$(ProjectDir)luas\*" "$(OutDir)\luas\" /e /y

    从根目录复制已经编译好的动态和静态库到这个空项目工程中

    (3)$(OutDir) ===》C:\Users\username\Desktop\test1\Debug,最后的生成目录,完成后可以单独拷贝出来运行。

    (4)$(Configuration),因Debug版本和Release版本而异

    (5)$(PorjectDir),Debug工程目录,调试目录,工作目录

    9.可以先编译一次,然后将

    在生成中使用设置为否,以免每次都复制这么多文件(如果没有什么变化的话,这一步可以手动进行复制)。

    10.看看效果吧

    11.完成了。

    展开全文
  • 最近新接触Cocos2d,试着用网上的教程创建项目但是出现了很多问题。 提示各种错误,又试着用CMake来创建,发现仍然找不到头绪。后面摸索了一下,又查了各个问题出现的情况。终于搞定了,在此分享一下,希望能给像...

     

    最近新接触Cocos2d,试着用网上的教程创建新项目但是出现了很多问题。

    提示各种错误,又试着用CMake来创建,发现仍然找不到头绪。后面摸索了一下,又查了各个问题出现的情况。终于搞定了,在此分享一下,希望能给像我一样的新人提供一些帮助。

    一、安装必备

     1、python2.x版本

    Cocos2d进支持2.x版本的python,直接上官网下载,安装即可。附上官网地址:https://www.python.org/

    2、Cocos2d

    这个从官网下载压缩包,直接解压即可。

     

    二、环境配置

    1、首先是python的环境配置

    复制python的安装路径,例如我的是F:\Python3.6.4。

    右键我的电脑-》属性-》高级系统设置-》高级-》环境变量

    点击PATH,编辑,新增,将地址填入,保存退出。

    2、Cocos2d环境配置

    打开解压的目标文件夹,运行setup.py

    记录下图片中最后一行的地址,实际上就是前缀路径+\cocos2d-x-3.17\tools\cocos2d-console\bin

    安装过程中,直接回车即可。

    将这个地址复制之后,用同样的方法添加入环境变量的Path中

     

    三、新建Cocos项目

    搜索cmd进入命令行,将目录导至\cocos2d-x-3.17\tools\cocos2d-console\bin

    输入

    cocos new 项目名称 -p 包名字 -l  程序语言 -d 项目存放路径

     

    至此,项目创建完成。

     

     

     

    展开全文
  • 前段时间自己学习了cocos2d-x平台下游戏的开发,写了一段时间后又想新建一个项目的时候突然发现自己忘记如何新建一个项目了,实在是太囧了,所以就在这里记录一下,希望也能给刚刚接触cocos2d-x的朋友们一点点帮助,...

    前段时间自己学习了cocos2d-x平台下游戏的开发,写了一段时间后又想新建一个项目的时候突然发现自己忘记如何新建一个项目了,实在是太囧了,所以就在这里记录一下,希望也能给刚刚接触cocos2d-x的朋友们一点点帮助,同时也给自己提个醒。。

    在这里我假设大家都已经完成了cocos2d-x开发环境的搭建,如果没有的话请查看http://bbs.9ria.com/thread-195082-1-1.html,这上面比较详细。


    我先说一下我的开发环境,我是在window7下基于eclipse和vs进行开发。记得刚开始搭建好环境的时候不知道c++部分的代码在哪里进行编写,实在是着急。

    好了,言归正传,如何创建一个cocos2d-x项目。

    1.cocos2d-x的目录下(我用的版本是2.0.3),有一个create-android-project的dos文件,点击运行这个文件,可以输入“包名”、“项目名”、“api-level”.如下面几张图



    注意,这个target id的编号是前面列出来的id,并不是直接对应api-level,这个在选择的时候应该把dos窗口向前翻滚一下看看具体情况。

    填好之后按回车,过一会儿就有一个项目生成了,生成项目的名字就叫做bbb,也在cocos2d-x的根目录下。


    2.打开vs的解决方案,要打开那个和你配置的版本相同的解决方案(这里前提是已经将vs开发环境搭建好了)

    我这里打开的是2012.


    在解决方案中新建一个项目,这个项目是用来编写c++部分的,我一般起名字叫做bbb_vs,然后将bbb中的C++部分复制进来,这样C++部分就可以编写和调试了。


    3.将第1步中新建的android项目bbb导入到eclipse中,然后将目录为cocos2d-2.0-x-2.0.3\cocos2dx\platform\android\java的项目也导入到eclispe中,这个项目是cocos2d-x自带的支持库项目。


    4.添加项目依赖,将3中名字为“java”的这个项目添加称为bbb的依赖项目,如下图:



    5.给项目添加新的builder,并且移动到最上面,如下图:


    new_builder(1)是我自己新建的(点击new->program),并且手动移动到了最上面,new_builder(1)的配置如下图所示:

    首先是main标签页:


    location是bash.exe所在的完整路径。

    working directory将location中的bash.exe去掉就可以,是base.exe的工作路径。

    arguments是传递给cygwin的参数,填写--login -c "cd /cygdrive/d/cocos2d-2.0-x-2.0.3/bbb/proj.android && ./build_native.sh"

    将里面的项目路径改成自己的项目路径。

    Refresh标签:

    勾选”Refresh resources upon completion“

    Environment标签:不做配置

    Build Options标签:如下图



    6.修改项目文件中的build_native.sh文件,将bbb_vs中的c++文件拷贝进来进行编译,我是在build_native.sh文件头部加上了下面几句话

    echo "Copying new Classes"
    rm -rf ../Classes
    cp -rf ../../bbb_vs/Classes ../


    echo "Copying new Resources"
    rm -rf ../Resources
    cp -rf ../../bbb_vs/Resources ../

    当然这里你要注意自己的路径问题。


    7.将所有的文件获得管理员权限,否则运行会出错,至于如何获得管理员权限网上有很多文章,比较简单,弄一个脚本一运行就行了。

    8.就像运行一般的android程序一样,run as anroid application就ok啦,一个简单的游戏就出现了。


    展开全文
  • cocos2d-x 创建工程详解

    2014-12-13 16:58:27
    这一节介绍的第一个Cocos2d-x游戏我们也命名为HelloWorld。 创建工程 在Cocos2d-x早期版本中,创建工程是通过安装在Visual Studio中的工程模板而创建的,而目前创建工程Cocos2d-x是通过Cocos2d-x提供的命令工具cocos...

    我们的编写的第一个程序一般习上都命名为HelloWorld,从它开始再学习其他的内容。下面介绍的第一个Cocos2d-x游戏我们也命名为HelloWorld。

    创建工程

    在Cocos2d-x早期版本中,创建工程是通过安装在Visual Studio中的工程模板而创建的,而目前创建工程Cocos2d-x是通过Cocos2d-x提供的命令工具cocos实现的,cocos位于<Cocos2d-x安装目录>\tools\cocos2d-console\bin下。我们能够通过DOS等终端进入bin目录执行下边的指令:

    cocos new  HelloWorld -p com.work6 -l cpp -d D:/projects

    其中D:/projects为HelloWorld的工程生成目录。通过上面的指令我们在D:/projects目录下面生成了名为HelloWorld的Cocos2d-x工程。打开HelloWorld目录。


    从图中可以看出生成的工程代码是适合于多平台的,其中Classes目录是放置一些通用类(与平台无关的),我们编写的C++代码主要放置在该目录下面。图中cocos2d目录是放置Cocos2d-x引擎的源代码,其中包括了音效引擎和物理引擎等。

    proj.android、proj.ios_mac、proj.win32、proj.wp8-xaml和proj.linux目录是放置与特定平台有关系代码,其中proj.android是android平台特定代码;proj.ios_mac是iOS和Mac OS运行需要的特定代码。proj.win32是Win32平台运行的需要的特定代码,它可以在Windows下运行,模拟器是Win32窗口;proj.wp8-xaml是Windows Phone 8平台运行的需要的特定代码;proj.linux是Linux平台运行的需要的特定代码。

    考虑到广大读者对Windows比较熟悉,而且学习容易上手,不需要更多的设备投入,所以介绍平台移植之前的实例主要都是基于Win32平台的,可以通过proj.win32目录下面的Visual Studio解决方案HelloWorld.sln来进行编译和运行的。Resources目录是放置工程需要的资源文件,这个目录中的内容是共享于全部平台下的。

    工程文件结构

    进入到proj.win32目录下,双击HelloWorld.sln解决方案文件,启动HelloWorld界面


    解决方案中HelloWorld工程的Classes文件夹中的内容是与生成目录对应的Classes目录内容的。HelloWorld工程的win32文件夹中的main.cpp和main.h是win32平台特有程序代码,通过它启动Win32窗口。

    libAudio工程对应于cocos2d目录中的音效引擎,libchipmunk工程是物理引擎,libcocos2d工程是Cocos2d-x引擎。

    如果想看一下效果,可以点击本地Windows调试器按钮运行,下面是运行成功的效果。



    更多内容请关注最新Cocos图书《Cocos2d-x实战 C++卷》
    本书交流讨论网站:http://www.cocoagame.net
    更多精彩视频课程请关注智捷课堂Cocos课程:http://v.51work6.com
    欢迎加入Cocos2d-x技术讨论群:257760386


    《Cocos2d-x实战 C++卷》现已上线,各大商店均已开售:

    京东:http://item.jd.com/11584534.html

    亚马逊:http://www.amazon.cn/Cocos2d-x%E5%AE%9E%E6%88%98-C-%E5%8D%B7-%E5%85%B3%E4%B8%9C%E5%8D%87/dp/B00PTYWTLU

    当当:http://product.dangdang.com/23606265.html

    互动出版网:http://product.china-pub.com/3770734

    《Cocos2d-x实战 C++卷》源码及样章下载地址:

    源码下载地址:http://51work6.com/forum.php?mod=viewthread&tid=1155&extra=page%3D1 

    样章下载地址:http://51work6.com/forum.php?mod=viewthread&tid=1157&extra=page%3D1

    欢迎关注智捷iOS课堂微信公共平台

    展开全文
  • 上一篇中我们已经搭好了自己的开发环境,接下来我们要来创建一个自己的项目。另外介绍一种更方便的创建项目方法。

    在Cocos2d-x 3.0 Beta版中创建项目已经作更改,此篇博客中的方法仅适用于cocos2d-x3.0 alpha版本。Beta版及其之后的版本可以参考:Cocos2d-x 3.0 开发(十六)cocos2dx-3.0beta版建立新项目并加载CocoStudio导出文件


    1、目标

        上一篇中我们已经搭好了自己的开发环境,接下来我们要来创建一个自己的项目。另外介绍一种更方便的创建项目方法。

    2、原理

         新版本的项目创建方式与以往有差异,文件结构也不同。所有新建的项目都要使用cocos2d-x根目录下的create-multi-platform-projects.py脚本来创建。创建出的跨平台的项目将出现在\projects文件夹下。打开项目,会发现依赖是自动创建好的。另外所有的资源会在同一个文件中,而且使用一个公用的class文件。文件结构如图:



    3、动手

         接下来我们来创建一个新项目。

        在命令行中进入cocos2d-x根目录。运行create-multi-platform-projects.py。结果弹出提示说少参数:



        需要项目名、包名、开发语言名。好,我们把参数加上再试一次。



        Ok,看来一切顺利,cocos2d-x根目录下的projects目录,找到刚才创建的项目,进入其中proj.win32文件夹,运行HelloCpp.sln。编译运行项目:




    4、创建自定义脚本

        

        难道每次创建都要这么麻烦啊,这么不优雅我是受不了 哈。我在这想了一种,供大家参考。希望大家有更好的办法也告诉我。 

        既然不能加载到vs中,就不加载了。采用从外部创建也没什么问题,不过每次都要从命令行进去,然后再创建,然后再找到文件位置打开这种操作实在是不爽,所以我写了一个windows批处理文件,运行批处理文件,输入项目名称,自动打开vs。对于我来说,开发语言是cpp 包名为:com.fsy.项目名称。

        在桌面创建一个txt,输入:


     (由于cocos2d-x 3.0 alpha1中对目录进行了修改,配置文件发生了些变化,可见:Cocos2d-x 3.0 开发(十一)3.0 alpha1文件结构变化 )

    @echo off
    echo =============新建项目==============
    set /p name=请输入项目的名称:
    echo 项目名为: %name%
    
    echo 正在创建新项目...
    
    set pk=com.fsy.
    
    E:\OutFile\cocos2d-x-3.0alpha0\create-multi-platform-projects.py -p %name% -k %pk%%name% -l cpp
    
    echo 创建完成正在打开....
    
    E:\OutFile\cocos2d-x-3.0alpha0\projects\%name%\proj.win32\HelloCpp.sln
    
    pause
    

         
        其中,我的cocos2d-x根目录放在E:\OutFile下,大家可以根据自己的配置进行更改。

        将文件另存为: 创建新项目.bat。

        好,接下来我们双击运行它,输入项目名称,就可以创建好项目,并打开了:



        

        是不是相较于在vs中创建项目更快捷清爽呢。




        

     由于cocos2d-x 3.0 alpha1中对目录进行了修改,配置文件发生了些变化,可见:Cocos2d-x 3.0 开发(十一)3.0 alpha1文件结构变化


        本篇博客出自阿修罗道,转载请注明出处,禁止用于商业用途:http://blog.csdn.net/fansongy/article/details/12624485 




        

     由于cocos2d-x 3.0 alpha1中对目录进行了修改,配置文件发生了些变化,可见:Cocos2d-x 3.0 开发(十一)3.0 alpha1文件结构变化
    展开全文
  • 新建一个Cocos2d-x项目 1.找到Cocos2d的安装目录 G:\cocos\Cocos2d-x\cocos2d-x-3.10\tools\cocos2d-console\bin 我的目录是在这里 然后运行 cocos -h命令可以看到相关的帮助信息 使用 cocos new -h来查看...
  • 、官网下载最新版本cocos2d-...二、把下载的cocos2d-x解压,找到bin目录(cocos2d-x-3.13.1\tools\cocos2d-console\bin),利用cocos.py创建项目 三、运行cmd,创建项目 1.创建项目命令:cocos new 项目名称 -p 包 -l
  • 本课程是《从零开始掌握Cocos2d-x 3.0(基于3.0正式版) 》课程配套的项目实战课程。建议对Cocos2d-x 3.0不了解的同学先学习该课程...从这个项目中可学习到如何利用Cocos2d-x 3.0的相关知识开发款完整的射击类游戏。
  • Cocos2d-x 3.6 创建项目的方式与它之前的几个版本并没有什么区别,打开终端(Windows下是打开cmd)进入到引擎文件夹目录,运行setup.py,然后再输入以下命令行就可以创建一个项目。 cocos new myGame -p ...
  • ·cocos2d-x 是一个支持多平台的 2D 手机游戏引擎,用C++重写cocos2d-iphone引擎的一个开源项目,想了解更多的童鞋美去百度吧。一切回到原点,还是老样子先从helloworld开始搭建开发环。  网上有很多关于cocos2d-x...
  • Cocos2d-x-Lua示例项目HelloLua 本篇博客介绍Cocos2d-x中Lua的实例项目,就是使用Cocos2d-x创建的初始项目运行所呈现... 注:本示例项目在Mac系统下创建 首先我们来创建一个Cocos2d-x Lua项目,在命令敲入类似以下命令
  • Cocos2d-x项目创建之 原生ios项目导入Cocos2d框架
  • cd Desktop 进入桌面文件夹 (cocos2d-x 所在的位置在桌面) cd cocos2d-x 进入coco2d-x 文件夹 ls 查看文件夹里有什么 cd cocos2d-x-2.2.0 进入 软件 cocos2d-x-2.2.0 cd t
  • 1.准备工作: 安装python2.7, 从官网下载 cocos2d-js-v3.6.1并解压(将....cocos2d-js-v3.6.1...2.创建一个同时包含Cocos2d-html5和Cocos2d-x JSB的项目 cocos new -l js (此时会在当前目录中创建MyJSGame文件夹) 3.
  • 、介绍cocos2d-x cocos2d-x是什么:是MIT许可证下发布的开源游戏引擎。 cocos2d-x的特点: 1 跨平台:支持跨平台部署,覆盖平台包括iOS、Android、Windows Phone及Tizen等等 2 语言:允许开发人员利用C++、...
  • 使用2.2.6版本创建项目不同于以前可以建立VS的模板从而可以很方便的项目,这版本需要使用Python来创建项目(3.x也会需要Python)。所以,我们如果想要使用2.2.6版本,就必须先安装Python;然后将Python的路径添加...
  • 标题有些长,没有办法,这里是为了突出版本Cocos2d-x2.2.6的特性,如果按照我前篇博文Cocos2d-x学习(Cocos2d-x2.2.6安装前准备,前面的基本工作已经做完了。.检验一下之前工作 下面就是检验安装之后的...
  • 这几天心血来潮想要学习Cocos2d-x,虽然有C#与Java的基础,不过毕竟好几年不碰代码,而且对于C++我完全是新手,只好一边学习C++基础一边找些Cocos2d-x的相关资料。不过好在C++的基础语法与C#还算相似,所以起步...
  • 创建项目请看 http://blog.csdn.net/fan_gao/article/details/12841959,我的python版本是3.3也就是目前最新的,创建的时候提示语法出错,然后就卸载重新安装python2.7.6版本,不要用最新的python版本就可以了
  • cocos2d-x-4.0升级有点大,我没找到python脚本构建项目的方法。结合官方文档和网友们的经验,使用cmake成功构建了项目(首先你的机器要装cmake)。步骤如下: 下载cocos2d-x-4.0压缩包 ...
1 2 3 4 5 ... 20
收藏数 29,151
精华内容 11,660