Cocos-X创建JS工程,编译Android .apk包,加载nanolink.so文件,创建一个实时对战游戏

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);**

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

猜你喜欢

转载自blog.csdn.net/xiaowubit/article/details/68483913