zoukankan      html  css  js  c++  java
  • cocos2d ios 环境搭建

    一、下载cocos2d-x

    http://cocos2d-x.org/projects/cocos2d-x/wiki/Download

    cocos2d-x-2.1.4.zip @ June.18, 2013

    我们可以看到最新版本的2.1.4,这个版本提供了一个用python命令来建立各平台的项目,十分便利

    下载,解压(建议解压到主目录下的)

    二、下载python

    http://www.python.org/getit/

    建议选择2.7.5版本的下载

    Python 2.7.5 Mac OS X 64-bit/32-bit x86-64/i386 Installer
    Python 2.7.5 Mac OS X 32-bit i386/PPC Installer

    下载,安装,然后在终端直接输入python,如果出现版本信息则安装成功。

    三、建立cocos2d-x项目

    进入终端,执行以下命令

    cd ~/cocos2d-x-2.1.4/tools/project-creator/
    python create_project.py -project game01 -package com.ookcode.game -language cpp

    create_project.py要求提供3个参数(工程名:我这里是game01,包名:我这里是com.ookcode.game,语言:cpp | js | lua)

    执行成功会显示以下信息

    proj.ios        : Done!
    proj.android        : Done!
    proj.win32        : Done!
    proj.mac        : Done!
    proj.blackberry        : Done!
    proj.linux        : Done!
    proj.marmalade        : Done!
    New project has been created in this path: /Users/ookcode/cocos2d-x-2.1.4/projects/game01
    Have Fun!

    进入game01目录,你可以看到这些项目

    Classes    
    Resources        
    proj.android    
    proj.ios    
    proj.mac    
    proj.win32
    proj.blackberry    
    proj.linux    
    proj.marmalade

    怎么样,全平台都给你搭好了,而且共用一个Classes文件夹,也就是说你在一个平台更新了代码,全平台都得到了更新。

    四、编辑ios项目

    进入game01/proj.ios/目录,直接双击打开game01.xcodeproj(别说你没装xcode)

    然后点run就可以跑起来了

    我在这里曾经犯了一个很2的错误,就是一直在cocos2dx这个目录下run,死活跑不起来

    这里要选中game01,不然就变成一直在build cocos2dx了

    这个HelloWorldScene.cpp就是你的代码了,你可以自己修改,不过由于所有平台用的都是这个,所以改了之后记得在其他平台也跑下

    五、编辑安卓项目(重点,这个比较复杂)

    1.下载ADT Bundle

    http://developer.android.com/sdk/index.html

    (解压到主目录,重命名为adt-bundle,为了下面写路径方便)

    2.下载NDK(目前最新版本是:android-ndk-re8)

    http://developer.android.com/tools/sdk/ndk/index.html

    (解压到主目录)

    3.为Eclipse安装CDT插件

    打开eclipse,选择菜单Help/Install New Software

    在Work With下拉框中选择自己eclipse的版本名,然后在插件里选中Programming Languages,打开下拉列表

    选择C/C++ Development Tools安装,重启eclipse

    这是你可以新建一个c++的HelloWorld项目试一试

    当你运行的时候可能会有如下错误:

    gcc: command not found

    g++: command not found

    打开xcode->preferences->Downloads

    你需要下载安装Command Line Tools,安装完成后,重启Eclipse,然后重新运行那个c++项目,你会在Console中看到久违的HelloWorld!

    4.配置全局变量

    进入终端,执行以下命令

    vim ~/.bash_profile

    按i进行编辑,输入以下路径

    export COCOS2DX_ROOT=/Users/ookcode/cocos2d-x-2.14/
    export NDK_ROOT=/Users/ookcode/android-ndk-r8e
    export ANDROID_NDK_ROOT=/Users/ookcode/android-ndk-r8e
    export ANDROID_SDK_ROOT=/Users/ookcode/adt-bundle/sdk
    export PATH=$ANDROID_NDK_ROOT:$PATH
    export PATH=$ANDROID_SDK_ROOT:$PATH

    按ESC,再输入:wq 保存并退出(基本的vi命令要会)

    ******这里是我的路径,切记得换成你自己的*******

    5.用NDK编译android项目

    进入终端,执行以下命令

    cd ~/cocos2d-x-2.1.4/projects/game01/proj.android
    ./build_native.sh

    然后就是漫长的编译

    Compile++ thumb  : cocos2dcpp_shared <= main.cpp
    Compile++ thumb  : cocos2dcpp_shared <= AppDelegate.cpp
    Compile++ thumb  : cocos2dcpp_shared <= HelloWorldScene.cpp
    Compile++ thumb  : cocos_extension_static <= AssetsManager.cpp
    Compile++ thumb  : cocos_extension_static <= CCBFileLoader.cpp
    ………
    ………

    当看到

    Install        : libcocos2dcpp.so => libs/armeabi/libcocos2dcpp.so
    make: Leaving directory `/Users/ookcode/cocos2d-x-2.1.4/projects/game01/proj.android'

    就编译成功了

    6.导入android项目

    在eclipse中右键,new->project

    选择Android Project from Existing Code

    Browse到game01的proj.android目录

    导入进来后我们发现有这样的错误

    这是由于cocos2dx的文件没用正确的包含进来

    右键项目->properties->Java Build Path

    在Source里点Link Source

    Browse到/cocos2d-x-2.1.4/cocos2dx/platform/android/java/src

    然后随便取个名字,确定,刚才的错误就消除了!

    --------------------------------------------------------------------------------------------------

    2013年7月31日更新:

    可以直接把/cocos2d-x-2.1.4/cocos2dx/platform/android/java当做一个安卓工程导入,然后都不用设置Link Source,一劳永逸!

    --------------------------------------------------------------------------------------------------

    7.创建AVD模拟器

    注:cocos2d-x需要4.0.3以上的模拟器才能运行,真机无所谓

    创建AVD是记得勾选Use Host GPU

    右键项目->Run As -> Run Configurations-> Target

    在最底部输入

    8.运行项目

    右键项目-> Run As -> Android Application

    然后选择刚才创建的AVD,然后你可以去先喝杯茶(模拟器启动那叫一个慢~

    9.编辑项目

    千万别在eclipse里面写c++的代码, CDT真受不了。

    前面说过,全平台的项目是共用一个classes的,所以,我们可以用xcode打开那个ios的项目

    打开HelloWorldScene.cpp这个文件,我们进行一些简单的修改

    找到这行代码,我们给他修改一个字体

    CCLabelTTF* pLabel = CCLabelTTF::create("Hello World", "Arial", 24);

    改成

    CCLabelTTF* pLabel = CCLabelTTF::create("Hello World", "fonts/Marker Felt.ttf", 128);

    你可能会奇怪,为什么字体要这样写"fonts/Marker Felt.ttf"

    如果是要ios支持的话直接写Marker Felt就行,不过安卓却不能这样,我们可以看到,安卓项目的目录下有个fonts目录,所以得按这种写法来获得安卓的支持

    (不过我疑惑的是,ios明明没用fonts这个目录,它是怎么判断出是这个字体的)

    10.运行修改过的项目

    在xcode中点击Run

    发现了么,字体改变了!

    然后接着是android项目,因为修改了代码,所以必须重新编译一次

    再次进入终端,输入以下代码

    cd ~/cocos2d-x-2.1.4/projects/game01/proj.android
    ./build_native.sh

    这次不会想上一次编译一样花那么久,因为不会再编译一次cocos2dx的代码

    Using prebuilt externals
    make: Entering directory `/Users/ookcode/cocos2d-x-2.1.4/projects/game01/proj.android'
    Compile++ thumb  : cocos2dcpp_shared <= HelloWorldScene.cpp
    SharedLibrary  : libcocos2dcpp.so
    Install        : libcocos2dcpp.so => libs/armeabi/libcocos2dcpp.so
    make: Leaving directory `/Users/ookcode/cocos2d-x-2.1.4/projects/game01/proj.android'

    出现以上代码就表示编译成功了

    我们再回到eclipse,右键项目->Run As -> Android Application

     

    六、结束语

      cocos2d-x的环境实在是很烦人,花了整整一天的时间才搭建好,期间更是碰到各种乱七八糟的错误,所以特地注册个博客,就为了把这次艰辛的环境搭建给记录下来,也

    给正在纠结的朋友们提供一些帮助。

      慢慢悠悠写了两个小时,这是我第一次写东西,表达的不是很清楚,还请大家见谅,有什么问题可以回复给我,有什么错误也请指出。

      我现在也在学cocos2d-x,不知道有没有朋友能一起交流-。-(本人93年大2屌丝,技术宅,未婚,木有妹纸0.0)

     
     
     
    标签: cocos2dxiosandroidxcodeeclipse
    绿色通道: 好文要顶 关注我 收藏该文与我联系 
    0
    0
     
    (请您对文章做出评价)
     
    » 下一篇:修改变色龙默认启动分区
    posted @ 2013-07-25 13:22 ookcode 阅读(1790) 评论(0编辑 收藏
     
  • 相关阅读:
    js属性对象的hasOwnProperty方法
    利用递归的方式在JSON 数据中找到某个节点的多有父节点
    数组中的方法 --- 不改变原数组的方法
    数组中的方法-- 会改变原数组的
    break continue return 的区别
    解决vue中对象属性改变视图不更新的问题
    怎么实现无痛刷新token
    正则的使用记录
    一级域名的登录信息在二级域名中获取
    没有什么问题是不能通过增加一个抽象层解决的
  • 原文地址:https://www.cnblogs.com/dwjaissk/p/3476735.html
Copyright © 2011-2022 走看看