• 第一次创建项目时要先运行一遍setup.py 后在创建项目,如果出现“cocos”不是内部命令之类,请检查环境变量里面的系统变量和管理员用户变量是否都添加了cocos_console; 新建一个 .txt 文档 ,复制下面内容: ...

    第一次创建项目时要先运行一遍  setup.py  后在创建项目,如果出现“cocos”不是内部命令之类,请检查环境变量里面的系统变量和管理员用户变量是否都添加了cocos_console;

     
     
    新建一个 .txt 文档 ,复制下面内容:
     
    @echo off  
    echo =============Cocos2D-x新建项目==============  
    set /p name=输入项目的名称:  
     
    echo 项目名为: %name%   
     
    echo 正在创建新项目...  
     
    set pack=com.richard.
     
    cocos new %name% -p %pack%%name% -l cpp  
     
    echo 创建完成.

     

     
     
    复制之后保存,然后把txt的后缀改成.bat
     
    再把文件放在工作目录下(工作目录就是一个存放projects的文件夹,是自己创建的)
    双击bat文件就可以创建项目了,创建好了的项目就在工作目录下。
     
    在项目中新建一个.h文件时,记得加上一个 #pragma once(代表头文件只编译一次)
    建立一个.cpp文件时记得加上USING_NS_CC.

    转载于:https://www.cnblogs.com/seabrea/p/4001121.html

    展开全文
  • 2019独角兽企业重金招聘Python工程师标准>>> ...

    1.准备阶段

    (1) vs2013下载及安装

    (2)cocos2d-x 3.14.1下载及解压

    (3)python2.7下载及安装(新版本cocos2d需要python创建工程)

    2.编译cocos2d-x 3.8.1

    (1) cocos2d-x 3.14.1解压后, 打开E:\cocos2d-x-3.14.1\build文件夹, 双击cocos2d-win32.sln打开解决方案. 
    这里写图片描述

    (2) 在解决方案准备就绪后, 右键cpp-tests设为启动项, 点击本地调试或者按快捷键F5进行调试, 编译完成后就会看到官方的demo. 
    这里写图片描述

    3.创建新项目MyTest1

    (1)新项目的命令 cocos/cocos.py 
    打开cmd,进入引擎目录E:\cocos2d-x-3.14.1\tools\cocos2d-console\bin,输入cocos.py –h可以看到它的命令行工具集(如下图), 这里我们使用类似命令创建项目: 
    cocos.py new 项目名(英文) -p com.公司名(英文).项目名(英文) -l cpp -d E:\workplace 
    这里写图片描述
    当然不想麻烦也可以使用cocos命令, 但这需要配置环境变量. 进入E:\cocos2d-x-3.14.1找到setup.py并双击执行, 根据提示设置cocos2d-x所需要的ndk/sdk/ant环境变量, ndk/sdk/ant这三个在网上下载后直接解压缩就行, 然后根据提示直接把对应的根目录拖到命令行中就可以了, 我用的ant版本是apache-ant-1.8.2-bin.(注:setup.py检测android运行环境, 可以按照前面做, 也可以先不管里面的信息, 直接回车.)

    (2)cocos命令介绍 
    在命令行中输入cocos.py new –h回车.
    这里写图片描述
    -h:显示 cocosnew 命令的帮助信息,该信息包含了 cocosnew 命令中每个命令行参数的含义(英文描述)。 
    -p:包名(PACKAGE_NAME)。主要用于 Android 工程。如果不指定该命令行参数,默认值是 org.cocos2dx.hellocpp。 
    -l:表示 Cocos2d-x 工程使用的语言,该命令行参数后只能跟 cpp、lua 和 js 中的一个, cpp 表示 C++语言,lua 表示 Lua 语言,js 表示 JavaScript 语言。该命令行参数必须指定。 
    -d:Cocos2d-x 工程所在的目录。cocos new 命令会将 Cocos2d-x 工程放到该目录中。如果不指定该命令行参数,默认为当前目录。 
    -t:模板名称。如果不指定该命令行参数,cocos new命令会使用默认的模板。Cocos2d-x 中用于建立工程的模板都在Cocos2d-x 根目录/templates 目录中。其中cpp-template-default 目录是建立 C++ 工程的模板, lua-template-default 和lua-template-runtime 目录是建立 Lua 工程的模板,以“-default”结尾的是默认模板,其中 default 和 runtime 是模板名称。也就是-t 命令行参数后面要跟的内容。如果有一个 cpp-template-ab目录,那么使用该模板的命令行参数应为“-t ab”。 
    –no-native:该命令行参数只用于 Lua 和 Javascript 工程,表示没有本地支持。

    (3)输入命令创建项目 
    比如我把项目命名为MyTest1, 然后在引擎中新建了一个project文件夹用来存放自己的项目, 命令行为: 
    cocos.py new MyTest1 –p com.cocos2dx.MyTest1 –l cpp –d E:\cocos2d-x-3.14.1\project 
    回车, 然后很快就会创建出来.

    (4)编译已创建项目 
    打开自己的工程,比如E:\cocos2d-x-3.14.1\project\MyTest1\proj.win32,点击MyTest1.sln, 后直接调试或者F5调试运行,如果没有问题的话就会出现下面的界面. 
    这里写图片描述

     

    转载于:https://my.oschina.net/andyzzh1314/blog/868574

    展开全文
  • 报错:No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android 解决:修改local.properties,将NDK改为r9d或r10c版本。 将File->Project Structure下的Android Gradle...

    直接编译工程出现以下报错:
    在这里插入图片描述
    说是当前Gradle版本不支持这个函数。

    • 将Gradle Plugin Version和Gradle Version升到最新,分别是3.4.2,5.1.1。

    接下来出现如下报错:
    在这里插入图片描述
    原因是要更新Gradle但没配置好仓库地址,故在Project: build gradle配置文件加入国内的仓库地址:
    maven { url “http://maven.aliyun.com/nexus/content/groups/public/” }
    jcenter()
    google()
    这时出现如下问题:
    编译出的apk分析
    这时打出来的apk包没有libcocos2d.so库和资源文件。原因是build.gradle的配置里没有libcocos2d.so编译的流程配置,所以没有跑引擎的编译。

    • 在app的build.gradle的android{}包下增加ndkbuild相关流程,如下图:增加ndkBuild
      这时再度编译出现报错:
    • What went wrong:
      Execution failed for task ‘:pure310portrait:generateJsonModelDebug’.
      Build command failed.
      Error while executing process /Users/dangang/Library/Android/android-ndk-r10c/ndk-build with arguments {NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=/Users/dangang/workspace/pure310portrait/frameworks/runtime-src/proj.android-studio/app/jni/Android.mk NDK_APPLICATION_MK=/Users/dangang/workspace/pure310portrait/frameworks/runtime-src/proj.android-studio/app/jni/Application.mk APP_ABI=armeabi NDK_ALL_ABIS=armeabi NDK_DEBUG=1 APP_PLATFORM=android-3 NDK_OUT=/Users/dangang/workspace/pure310portrait/frameworks/runtime-src/proj.android-studio/app/build/intermediates/ndkBuild/debug/obj NDK_LIBS_OUT=/Users/dangang/workspace/pure310portrait/frameworks/runtime-src/proj.android-studio/app/build/intermediates/ndkBuild/debug/lib APP_SHORT_COMMANDS=false LOCAL_SHORT_COMMANDS=false -B -n}
      Android NDK: /Users/dangang/workspace/pure310portrait/frameworks/runtime-src/proj.android-studio/app/jni/Android.mk: Cannot find module with tag ‘scripting/lua-bindings/proj.android’ in import path
      Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined ?
      Android NDK: The following directories were searched:
      Android NDK:

    看报错信息是NDK 编译时的arguments传得不对造成的,NDK_MODULE_PATH这个参数没有设置。

    • 于是参考cocos2dx 3.17的相应build.gradle的配置再在app的build.gradle加入ndkBuild相关参数
      ndkBuild参数设置
      这时出现报错

    Build command failed.
    Error while executing process /Users/dangang/Library/Android/android-ndk-r10c/ndk-build with arguments {NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=/Users/dangang/workspace/pure310portrait/frameworks/runtime-src/proj.android-studio/app/jni/Android.mk NDK_APPLICATION_MK=/Users/dangang/workspace/pure310portrait/frameworks/runtime-src/proj.android-studio/app/jni/Application.mk APP_ABI=arm64-v8a NDK_ALL_ABIS=arm64-v8a NDK_DEBUG=1 APP_PLATFORM=android-21 NDK_OUT=/Users/dangang/workspace/pure310portrait/frameworks/runtime-src/proj.android-studio/app/build/intermediates/ndkBuild/debug/obj NDK_LIBS_OUT=/Users/dangang/workspace/pure310portrait/frameworks/runtime-src/proj.android-studio/app/build/intermediates/ndkBuild/debug/lib NDK_TOOLCHAIN_VERSION=clang -j8 NDK_MODULE_PATH=/Users/dangang/workspace/pure310portrait/frameworks/cocos2d-x:/Users/dangang/workspace/pure310portrait/frameworks/cocos2d-x/cocos:/Users/dangang/workspace/pure310portrait/frameworks/cocos2d-x/external APP_SHORT_COMMANDS=false LOCAL_SHORT_COMMANDS=false -B -n}
    Android NDK: ERROR:/Users/dangang/workspace/pure310portrait/frameworks/cocos2d-x/external/lua/luajit/prebuilt/android/Android.mk:luajit_static: LOCAL_SRC_FILES points to a missing file
    Android NDK: Check that /Users/dangang/workspace/pure310portrait/frameworks/cocos2d-x/external/lua/luajit/prebuilt/android/arm64-v8a/libluajit.a exists or that its path is correct

    • 再在app下的build.gradle下的defultConfig闭包加入ndk配置ndk生成库的相关配置
      这时候引擎能开始跑编译了。这时可能会出现下面报错
      No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
      这是由于NDK版本不兼容导致的。
    • 修改local.properties,将NDK改为r10c版本。
      这时再跑出现如下错误:

    Parameter specified as non-null is null: method com.android.build.gradle.internal.cxx.configure.JsonGenerationVariantConfiguration., parameter ndkVersion

    这是因为所使用的的NDK版本不适配的问题,高版本的NDK被使用时会被从source.properties文件获取NDK的版本号我们现在使用的NDK版本没有这个文件。

    • 找到高版本的NDK版本复制source.properties文件到使用的NDK版本中,就可以解决这个问题。
      这里遇到下面报错:
      找不到头文件
      看意思是找不到头文件,原因是这个头文件是区分sdk的platform版本的,需要在Application.mk里面指定版本。
    • 在jni/Application.mk里面加入APP_PLATFORM := android-16,由于这个值要和minSdkVersion对应,故也把项目和库的两个build.gradle下的minSdkVersion也配置成16。

    这时在编译过程中出现如下错误:
    在这里插入图片描述
    原因是给到我的模板工程中用到了一段代码但只支持iOS,故把这段代码注释掉即可。

    这时,引擎就能正常编译成功了。打出来的apk包解析能看到libcocos2dlua.so文件。
    但是发现apk没有项目的脚本和资源文件。

    • 针对没有资源和脚本的问题有两种处理方法:
      一则最简单直接,在安卓工程下的app目录直接新建一个assets目录,将资源和脚本拷到这个目录即可。
      二则是配置build.gradle,在工程编译阶段自动拷贝资源到assets目录,(下面代码可能目录结构层次不对,自行调整)
    android.applicationVariants.all { variant ->
        delete "${projectDir}/assets"
        def targetName = variant.name.capitalize()
        def copyTaskName = "copy${targetName}ResourcesToAssets"
    
        tasks.register(copyTaskName) {
            copy {
                from "${projectDir}/../../../../res"
                into "${projectDir}/assets/res"
            }
    
            copy {
                from "${projectDir}/../../../../src"
                into "${projectDir}/assets/src"
            }
    	}
    	tasks.getByName("pre${targetName}Build").dependsOn copyTaskName
    }
    

    一些警告要处理:

    • gradle的compile语句警告处理:
      compile警告这个警告是因为的新版本的gradle compile语句已经被抛弃,改用api语句,两者的功能完全一样,故将build.gradle的compile 替换成api即可。注意项目和引擎的两个gradle都要改。

    SDK Build Tools版本问题
    警告说我们配置的版本22.0.1太旧了,直接帮你用28.0.3来编译,为去除这个警告,将版本号改为28.0.3即可。

    其它问题:
    可能会出现创建了竖屏项目却无法竖屏问题,即使将AndroidManifest.xml的android:screenOrientation已经设为portrait也无法竖屏。
    原因是在AppActivity的onCreate时会设置一次横竖屏,从代码看是在C++层判断的,可直接改这里的代码,直接写死竖屏即可。

    展开全文
  • 本文主要介绍新建cocos2dx lua项目,运行新建的cocos2dx lua项目,并且解决一些新建和运行项目过程中可能会遇到的问题。 版本仍然是cocos2dx3.4,本机配置仍然是64位的win7系统。

    接上文。上一篇文章讲了如何从零开始运行起来一个cocos官方自带的小例子。

    本文主要介绍新建cocos2dx lua项目并运行,添加调试信息“hello world”。

    版本仍然是cocos2dx3.4,本机配置仍然是64位的win7系统。

    正文

    根据官方文档的指示,要新建一个cocos项目,除了运行“download-deps.py”之外(我们刚才已经运行过了)还要运行一下“setup.py”,也在E:\cocos\cocos2d-x-3.4目录下。

    运行“setup.py”:看看它都干了什么~
    1、寻找COCOS_CONSOLE_ROOT环境变量,没有找到,自动添加了一个变量名为COCOS_CONSOLE_ROOT,变量值为E:\cocos\cocos2d-x-3.4\tools\cocos2d-console\bin的环境变量。
    2、寻找COCOS_TEMPLATES_ROOT环境变量,没有找到,自动添加了一个变量名为COCOS_TEMPLATES_ROOT,变量值为E:\cocos\cocos2d-x-3.4\templates的环境变量。
    3、剩了一个android平台的配置,告诉你你可以先跳过,然后再手动编辑环境变量。其实……你也只能跳过再手动配置了,不然它让你输入NDK_ROOT的安装路径你又没有……
    so,等它出现“Please enter the path of NDK_ROOT(or press Enter to skip):”的提示之后,点下回车,跳到下一步。
    然后又是个类似的ANDROID_SDK_ROOT,照旧,点回车跳过;
    再然后又是个类似的ANT_ROOT,再点回车,退出命令窗口。

    在命令窗口进入E:\cocos\cocos2d-x-3.4目录

    在空白处shift+右键调出右键菜单,选择在此处打开命令窗口。进入命令窗口。

    或者点电脑屏幕左下角的开始-->在左下角的输入框中输入cmd-->点回车调出命令窗口-->使用英文输入e:命令进入E盘-->再使用cd cocos\cocos2d-x-3.4进入E:\cocos\cocos2d-x-3.4目录。

    在命令窗口中输入 cocos 然后回车,可以看到在cocos命令下有很多可以执行的子命令。在这里我只在用到的时候介绍相关命令。

    使用cocos new 命令新建一个cocos2dx lua项目

    接上步,在命令窗口中输入cocos new MyGame -l lua -p com.happy -d cocosCode点回车,cocos开始为我们创建我们的处女项目,纯洁的处女项目~害羞

    先解释下这行命令是什么意思:

    cocos new就是新建一个cocos项目;

    后边加一个空格,紧跟一个英文字符串表示新建的cocos项目的名字;

    空格加一个 -l 再加一个 lua,表示我们创建的cocos项目使用的主要开发语言是lua,-l就是语言的意思;

    空格加-p再加一个英文字符串,表示包名,可以理解为将来发布到android平台的时候的apk安装包的前缀名,一般可以写自己公司的域名前缀(你如你已经开了自己的公司的话),比如你填了com.baidu,到时候的完整包名就会是com.baidu.MyGame;

    空格加-d再加一个英文字符串(例如是cocosCode),表示这个cocos lua项目的代码创建在哪里(安啦安啦~如果文件夹不存在,将会被创建),可以理解为“工作空间”。需要注意的是,这里指定的路径为相对路径,因为我们当前的命令都是在E:\cocos\cocos2d-x-3.4文件夹下执行的,所以创建的cocos lua工程的代码实际是在E:\cocos\cocos2d-x-3.4\cocosCode下;

    根据颜值定理,你需要等一两分钟到十几分钟不等。

    在等待它创建完成的时间里,让我们来看看它都干了什么:

    1、copy template into E:\cocos\cocos2d-x-3.4\cocosCode\MyGame:意思是复制一个模版到你新建的项目;

    2、replace the project name from "HelloLua" to "MyGame":意思是把项目重命名成MyGame,为什么会有重命名呢?嗯嗯,因为刚才cocos从别的地方复制了一个模版项目到我们的项目文件夹,可能那个模版项目的项目名是HelloLua吧。由此也可以知道,cocos创建新项目实际上是复制了一个已有的项目模版到你指定的项目文件夹下。而且我们也可以找到cocos的这些项目模版,就在E:\cocos\cocos2d-x-3.4\templates文件夹中;

    3、然后cocos就开始从各种目录下复制文件到我们的项目文件夹下,同时看这些文件中如果哪里还有以“HelloLua”为项目名的文件,就通过某种神秘的方式把项目名替换为“MyGame”;

    4、然后替换包名;然后就完成了~


    我们来看一下新建的cocos lua项目文件夹,看看麻雀虽小五脏俱全的五脏都有些什么~


    第一个文件夹.settings放的是一些项目设置,额……是废话……我这个阶段的新手还没有用到这里的设置内容,略过不提;

    frameworks是个重点。

    res大家应该很熟悉,放各种素材文件的地方;

    runtime也是个重点。

    src当然也是重点,不过大家应该都熟悉,是放代码的地方。

    下边的3个文件都是cocos项目的配置文件,除了config.json之外的两个我没什么研究,略过不提。下边主要讲runtime,次要讲frameworks。

    如果使用cocos Code IDE的话,可能你知道只需要打开IDE,导入这个新建的项目就可以运行了(其实也是不能运行的),但是现在不能用cocos Code IDE了,要怎么运行起来这个新项目呢?

    运行使用cocos new命令新建的cocos新项目

    打开vs2012,界面左上角“文件”-->打开-->项目/解决方案-->选择E:\cocos\cocos2d-x-3.4\cocosCode\MyGame\frameworks\runtime-src\proj.win32下的MyGame.sln文件(这是个解决方案项目文件,vs可以通过这个文件知道它要打开哪些具体文件),确定;可以看到如下的内容:

    现在是默认把MyGame设置成了启动项目,所以MyGame的字母是粗体;如果你打开的时候MyGame不是粗体,就右键-->设为启动项目;

    注意,在这里,我们可以先看一下E:\cocos\cocos2d-x-3.4\cocosCode\MyGame\runtime\win32文件夹中的内容,只是一堆.dll库文件,并没有什么特殊的,接下来,就是见证奇迹的时刻……

    运行vs2012界面上方的本地windows调试器,弹出窗口说文件已过期,问是否要重新编译,选是,确定(有没有很熟悉?对……第一次启动cocos示例的时候见过)。

    等。颜值定理。几分钟到几十分钟。你去洗把脸回来说不定就好了。

    好了,洗了把脸也精神一点了~

    然后,奇迹来了!(奇迹尴尬:堵三环上了,来晚了,不好意思,不好意思……)突然发现E:\cocos\cocos2d-x-3.4\cocosCode\MyGame\runtime\win32文件夹中多了4个文件~其中一个是个可执行文件MyGame.exe~这是为什么呢?

    而且,为什么要先运行MyGame.sln而不是运行main.lua文件呢?(一般的程序的入口文件不都是main.xxx吗?)

    这里简单说下:因为lua语言本身的原因,它必须寄生在c++中(可能不准确,但有助于理解)运行,而刚才运行的MyGame.sln解决方案,编译之后实际上是提供了lua运行时的寄生环境。这点从cocos Code IDE的运行方式上也可以佐证,因为cocos Code IDE运行cocos lua项目时,也需要先指定一个运行时文件,这个运行时文件就是我们刚才生成的这个MyGame.exe~如果你要使用cocos Code IDE运行项目看代码效果的话,这个MyGame.exe也确实是必须的。在这个MyGame.exe文件中指定了所有lua文件的入口文件是main.lua,指定方式如下:(这段代码在E:\cocos\cocos2d-x-3.4\cocosCode\MyGame\frameworks\runtime-src\Classes\AppDelegate.cpp中)

    #if (COCOS2D_DEBUG > 0) && (CC_CODE_IDE_DEBUG_SUPPORT > 0)
        // NOTE:Please don't remove this call if you want to debug with Cocos Code IDE
        RuntimeEngine::getInstance()->start();
        cocos2d::log("iShow!");
    #else
        if (engine->executeScriptFile("src/main.lua"))
        {
            return false;
        }
    #endif
    第一行的COCOS2D_DEBUG和CC_CODE_IDE_DEBUG_SUPPORT是两个预编译参数:

    COCOS2D_DEBUG表示是否支持断点调试,默认为1,配置方法如下:

    在vs2012解决方案资源管理器中右键点击MyGame项目-->属性-->配置属性-->C/C++-->预处理器-->预处理器定义-->点击预处理器定义对应的内容仔细往右看看到一个下拉按钮-->点击之-->选择“编辑”,就可以看到了~附一张图吧~



    CC_CODE_IDE_DEBUG_SUPPORT表示是否支持在cocos Code IDE中断点调试并输出print等lua语言的调试信息,默认值为0,如果你需要在cocos Code IDE中调试的话或者想在控制台看到我们自己输出的hello world的话,需要把这个值改为1。(开发时一般也要求它的值为1)修改方法如下:

    在vs操作界面中,在刚才这个文件AppDelegate.cpp中找到这个变量CC_CODE_IDE_DEBUG_SUPPORT,选中它,点F12切换到它的定义,把后边的0改为1;

    或者直接打开E:\cocos\cocos2d-x-3.4\cocosCode\MyGame\frameworks\runtime-src\Classes\ide-support\CodeIDESupport.h,找到CC_CODE_IDE_DEBUG_SUPPORT,把后边的0改为1;

    然后继续看上边这段c++代码。如果走到第一种情况中,就是启动RuntimeEngine,由RuntimeEngine通过某种方式读取E:\cocos\cocos2d-x-3.4\cocosCode\MyGame\下的config.json配置文件中的"entry": "src/main.lua",以指定lua的入口文件;如果走到第二种情况,就是在这里的代码里直接指定lua的入口文件是src/main.lua

    好,说到这里,应该已经比较明白了。

    接下来的事情就简单了。找到E:\cocos\cocos2d-x-3.4\cocosCode\MyGame\src\main.lua;打开它,如下:

    cc.FileUtils:getInstance():setPopupNotify(false)
    cc.FileUtils:getInstance():addSearchPath("src/")
    cc.FileUtils:getInstance():addSearchPath("res/")
    
    require "config"
    require "cocos.init"
    
    local function main()
        require("app.MyApp"):create():run()
    end
    
    local status, msg = xpcall(main, __G__TRACKBACK__)
    if not status then
        print(msg)
    end
    在main函数里,也就是
    local function main()
    这一行下边添加一行
    print("------------------------------hello world!-------------------------------")
    保存。多加点分割线,好找~

    回到vs2012中,再点一次本地windows调试器,重新生成过期的项目,等着看奇迹~

    look!在茫茫人海中,我们找到了我们的世界~hello world!从此cocos2dx的大门就向你敞开了!你就会升职加薪,当上总经理,出任CTO,迎娶白富美,走上人生巅峰。想想是不是还有点小激动呢?!






    展开全文
  • Cocos-js工程创建一个实时对战游戏。 文章主要介绍怎么创建cocos-js工程,并介绍使用Cocos-js工程,接入天梯游戏统计的实时对战协议 NanoLink天梯的NanoLink实时对战协议目前好像支持主流游戏开发引擎,具体产品...

    Cocos-js工程,创建一个实时对战游戏

    天梯的NanoLink实时对战协议目前好像支持主流游戏开发引擎,具体产品问题自己访问 天梯游戏统计 查看吧(据说NanoLink目前需要内部推荐才能使用,可以直接联系他们客服, QQ群:308944898)。
    下面请看重点:


    第一步、下载Cocos-js工程包,执行.py文件安装,并创建一个新的js工程。

    官方文档介绍:https://github.com/cocos2d/cocos2d-js
    下载工程包后执行下面命令:

    $ cd cocos2d-js
    $ ./setup.py
    $ source FILE_TO_SAVE_SYSTEM_VARIABLE
    
    $ cocos new NanoLink1 -l js -d /Data/Items/study/Cocos/Cocos-js
    $ cd /Data/Items/study/Cocos/Cocos-js/NanoLink1

    注:使用上面命令行安装,默认将会把cocos命令添加到环境变量。

    $ cat ~/.bash_profile
    ...
    #Add environment variable COCOS_CONSOLE_ROOT for cocos2d-x
    export COCOS_CONSOLE_ROOT=/Applications/cocos2d-x-3.14/tools/cocos2d-console/bin
    export PATH=$COCOS_CONSOLE_ROOT:$PATH
    
    # Add environment variable COCOS_X_ROOT for cocos2d-x
    export COCOS_X_ROOT=/Applications
    export PATH=$COCOS_X_ROOT:$PATH
    
    # Add environment variable COCOS_TEMPLATES_ROOT for cocos2d-x
    export COCOS_TEMPLATES_ROOT=/Applications/cocos2d-x-3.14/templates
    export PATH=$COCOS_TEMPLATES_ROOT:$PATH
    ...

    第二步、根据Cocos要求配置ant, android SDK, ndk 到环境变量即可。(以下是个人目录,更具自己情况修改)

    $ vi ~/.bash_profile
    
    ...
    export ANT_ROOT=/Users/xiaowujun/ant/bin
    export PATH=$ANT_ROOT:$PATH
    
    export ANDROID_SDK_ROOT=/Users/xiaowujun/Library/Android/sdk
    export PATH=$ANDROID_SDK_ROOT:$PATH
    
    export NDK_ROOT=/Users/xiaowujun/Library/Android/sdk/ndk-bundle
    export PATH=$NDK_ROOT:$PATH
    ...

    第三步、运行 cocos run 命令,编译安装到 Android手机

    $ cocos run -p android

    参数:
    -p 指定平台。 如 ios|mac|android|win32|web
    -j 指定编译时启动几个线程。 我通常用 -j 4
    –ap 指定 Android/adk/platforms/ 中的 版本, –ap android-19

    $ cocos run -p android --ap android-19 -j 4

    4.1 首先要得到天梯实时对战SDK,这个联系他们客服就可以,不多介绍

    4.2 修改 Android.mk 文件,直接上代码,红色 标注的是需要添加的。(MarkDown代码块中的文本不能变颜色???)

    LOCAL_PATH := $(call my-dir)
    
    include $(CLEAR_VARS)
    LOCAL_MODULE:=libnanolink
    LOCAL_SRC_FILES:=../../../nanolink1/lib/android/$(TARGET_ARCH_ABI)/libnanolink.so
    include $(PREBUILT_SHARED_LIBRARY)
    
    include $(CLEAR_VARS)
    
    LOCAL_MODULE := cocos2djs_shared
    
    LOCAL_MODULE_FILENAME := libcocos2djs
    
    ifeq ($(USE_ARM_MODE),1)
    LOCAL_ARM_MODE := arm
    endif
    
    LOCAL_SRC_FILES := hellojavascript/main.cpp \
                       ../../Classes/AppDelegate.cpp \
                       ../../../nanolink1/CocosPlugin/NanoLink_js.cpp
    
    LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes \
                       $(LOCAL_PATH)/../../../nanolink1/include \
                       $(LOCAL_PATH)/../../../nanolink1/CocosPlugin
    
    LOCAL_STATIC_LIBRARIES := cocos2d_js_static
    
    LOCAL_EXPORT_CFLAGS := -DCOCOS2D_DEBUG=2 -DCOCOS2D_JAVASCRIPT
    
    LOCAL_SHARED_LIBRARIES := libnanolink
    
    include $(BUILD_SHARED_LIBRARY)

    4.3 然后修改 AppDelegate.cpp 文件

    #include "NanoLink_js.h"
    
    ...
    ...
    ...
    
    bool AppDelegate::applicationDidFinishLaunching()
    {
        ...
    
        ScriptingCore::getInstance()->addRegisterCallback(NanoLink_js::registerJSFunctions);
    
        sc->start();
        sc->runScript("script/jsb_boot.js");
        ...
    }

    **注意,需要在 sc->start(); 前添加
    ScriptingCore::getInstance()->addRegisterCallback(NanoLink_js::registerJSFunctions);**

    大功告成!再运行第三步,编译到手机上即可。

    展开全文
  • https://blog.csdn.net/qq_23261197/article/details/87883614?tdsourcetag=s_pcqq_aiomsg
  • cocos2d版本更新之快及版本之混乱是出了名的。cocos2d打包android apk也是出了名的麻烦。所以,对于我这种新手来说,配置cocos2d-x的安卓环境就是出了名的难。经过两天的折腾,终于搞出了一个方案,虽然算不上最好的...
  • 网上已经有很多配置的文章了,但是弄了好久还是... 1)下载好cocos2dx3.1.6的包并解压。 链接: https://pan.baidu.com/s/1eRA8YPG 密码: uqgf 2)下载好Android studio并安装。 链接: https://pan.baidu.com/s/
  • Cocos2dx通过工程里面的tools/toLua工具生成注册C++函数到lua的函数cpp文件 bindings-generator脚本的工作机制 不用编写.pkg和.h文件了,直接定义一个ini文件,注册到Lua环境里的模块名是什么,就行了。 摸清了...
  • 环境配置: VS2015 JDK cocos2d-x-3.14 Python2.7.9   Android-SDK ...创建cocos工程命令: cocos new -p com.game.simple -l cpp -d e:\ simple 打apk包命令: cocos compile -p a
  • 在2017新年来临之际,Cocos引擎团队送上了新一年的惊喜:Cocos2d-x v3.14全新版本。该版本支持所有平台使用luajit 2.10-beta2、Sprite支持九宫格特性、新增动作类ResizeBy和ResizeTo......这么多给力的新功能,相信...
  • creator_to_cocos2dx 插件

    2018-02-23 15:31:26
    转自cocos官网,为支持c++而开心着。Cocos Creator 可以很高效的编辑场景和 UI,同时内置支持 JavaScript,这对 JavaScript 开发者十分友好。可是对于 C++/Lua 开发者,无法直接利用 Creator 高效的界面编辑功能,...
  • ~~~~我的生活,我的点点滴滴!!
  • 在2017新年来临之际,Cocos引擎团队送上了新一年的惊喜:Cocos2d-x v3.14全新版本。该版本支持所有平台使用luajit 2.10-beta2、Sprite支持九宫格特性、新增动作类ResizeBy和ResizeTo......这么多给力的新功能,相
  • 最近的一个Cocos项目有使用到JNI,结果又是通过百度来查找使用方法,为了方便以后查看,在这里小结一下,个人觉得应该会比较适合初次使用Jni的小伙伴们^_^ ——————————————正文开始——————...
  • 本人的第一本教程书籍《Cocos2d-x游戏开发 基础与实战》kai'sh
  • 20170326添加: 尽量使用最新的类,因为被遗弃的类一般都有功能和性能上的缺陷,所以不建议使用。 对于EditBox类,在2.2.6版本之前,在iOS 8上,如果单击输入,键盘弹出时,会发生界面偏移错误,出现黑色背景部分。...
  • Mac上的Cocos2d-x

    2017-01-26 22:52:45
    游戏引擎说 引擎是发动机的核心部分,因此习惯上也常用引擎指发动机。 引擎的主要部件是气缸,也是整个汽车的动力源泉。 在游戏的编写中,引擎指用于控制所有游戏功能的主程序。 游戏引擎是一个为运行某一类游戏...
  • 【译】Swift 字符串速查表 2015-12-18 10:32编辑:suiling分类:Swift来源:CocoaChina翻译活动 105585 ...cocos2dx手游客户端主程 wp开发 iOS开发工程师 iOS软件工程师 iOS研发工程师 ...
1 2 3
收藏数 48
精华内容 19