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

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

文章主要介绍怎么创建cocos-js工程,并介绍使用Cocos-js工程,接入天梯游戏统计的实时对战协议 NanoLink

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

下面请看重点:

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

官方文档介绍:https://github.com/cocos2d/cocos2d-js

下载工程包后执行下面命令:

[plain] view plaincopy
 
  1. $ cd cocos2d-js  
  2. $ ./setup.py  
  3. $ source FILE_TO_SAVE_SYSTEM_VARIABLE  
  4.   
  5. $ cocos new NanoLink1 -l js -d /Data/Items/study/Cocos/Cocos-js  
  6. $ cd /Data/Items/study/Cocos/Cocos-js/NanoLink1  



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

[plain] view plaincopy
 
  1. $ cat ~/.bash_profile  
  2. ...  
  3. #Add environment variable COCOS_CONSOLE_ROOT for cocos2d-x  
  4. export COCOS_CONSOLE_ROOT=/Applications/cocos2d-x-3.14/tools/cocos2d-console/bin  
  5. export PATH=$COCOS_CONSOLE_ROOT:$PATH  
  6.   
  7. # Add environment variable COCOS_X_ROOT for cocos2d-x  
  8. export COCOS_X_ROOT=/Applications  
  9. export PATH=$COCOS_X_ROOT:$PATH  
  10.   
  11. # Add environment variable COCOS_TEMPLATES_ROOT for cocos2d-x  
  12. export COCOS_TEMPLATES_ROOT=/Applications/cocos2d-x-3.14/templates  
  13. export PATH=$COCOS_TEMPLATES_ROOT:$PATH  
  14. ...  



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

[plain] view plaincopy
 
  1. $ vi ~/.bash_profile  
  2.   
  3. ...  
  4. export ANT_ROOT=/Users/xiaowujun/ant/bin  
  5. export PATH=$ANT_ROOT:$PATH  
  6.   
  7. export ANDROID_SDK_ROOT=/Users/xiaowujun/Library/Android/sdk  
  8. export PATH=$ANDROID_SDK_ROOT:$PATH  
  9.   
  10. export NDK_ROOT=/Users/xiaowujun/Library/Android/sdk/ndk-bundle  
  11. export PATH=$NDK_ROOT:$PATH  
  12. ...  



第三步、运行 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

第四步、运行编译时,需要加载nanolink.so文件,需要对js工程的代码做简单修改。以天梯游戏统计的实时对战协议 NanoLink 为例介绍

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

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

[plain] view plaincopy
 
  1. LOCAL_PATH := $(call my-dir)  
  2.   
  3. include $(CLEAR_VARS)  
  4. LOCAL_MODULE:=libnanolink  
  5. LOCAL_SRC_FILES:=../../../nanolink1/lib/android/$(TARGET_ARCH_ABI)/libnanolink.so  
  6. include $(PREBUILT_SHARED_LIBRARY)  
  7.   
  8. include $(CLEAR_VARS)  
  9.   
  10. LOCAL_MODULE := cocos2djs_shared  
  11.   
  12. LOCAL_MODULE_FILENAME := libcocos2djs  
  13.   
  14. ifeq ($(USE_ARM_MODE),1)  
  15. LOCAL_ARM_MODE := arm  
  16. endif  
  17.   
  18. LOCAL_SRC_FILES := hellojavascript/main.cpp \  
  19. ../../Classes/AppDelegate.cpp \  
  20. ../../../nanolink1/CocosPlugin/NanoLink_js.cpp  
  21.   
  22. LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes \  
  23. $(LOCAL_PATH)/../../../nanolink1/include \  
  24. $(LOCAL_PATH)/../../../nanolink1/CocosPlugin  
  25.   
  26. LOCAL_STATIC_LIBRARIES := cocos2d_js_static  
  27.   
  28. LOCAL_EXPORT_CFLAGS := -DCOCOS2D_DEBUG=2 -DCOCOS2D_JAVASCRIPT  
  29.   
  30. LOCAL_SHARED_LIBRARIES := libnanolink  
  31.   
  32. include $(BUILD_SHARED_LIBRARY)  



4.3 然后修改 AppDelegate.cpp 文件<
4000
/h3>

[plain] view plaincopy
 
  1. #include "NanoLink_js.h"  
  2.   
  3. ...  
  4. ...  
  5. ...  
  6.   
  7. bool AppDelegate::applicationDidFinishLaunching()  
  8. {  
  9. ...  
  10.   
  11. ScriptingCore::getInstance()->addRegisterCallback(NanoLink_js::registerJSFunctions);  
  12.   
  13. sc->start();  
  14. sc->runScript("script/jsb_boot.js");  
  15. ...  
  16. }  



**注意,需要在 sc->start(); 前添加

ScriptingCore::getInstance()->addRegisterCallback(NanoLink_js::registerJSFunctions);**

 

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

 

原文地址:https://www.geek-share.com/detail/2701840751.html

posted @ 2020-03-16 15:19  星月相随  阅读(276)  评论(0编辑  收藏  举报