当前位置: 首页 > news >正文

做推广网站的去哪能买到有效资料/免费的推广软件下载

做推广网站的去哪能买到有效资料,免费的推广软件下载,增城手机网站建设,做后期的网站有哪些1:本文的基础是建立在官方的文档上的,官方文档https://docs.cocos.com/creator/2.4/manual/zh/advanced-topics/jsb-auto-binding.html,由于官方也是引用论坛里别人的连接,所以文档里有些东西是creator旧版本的,但基本…

1:本文的基础是建立在官方的文档上的,官方文档https://docs.cocos.com/creator/2.4/manual/zh/advanced-topics/jsb-auto-binding.html,由于官方也是引用论坛里别人的连接,所以文档里有些东西是creator旧版本的,但基本思路是一致的,下面主要围绕不同的做说明

2:需要注意点:

(1)下载的python版本必须是32位的2.7版本,下载地址 https://www.python.org/ftp/python/

(2)window环境只需要配置NDK_ROOT的环境变量,PYTHON_BIN是不需要的

3:creator2.4,自己新建的项目是没有tojs文件夹的,但creator的安装目录是有的,这里可以直接把tojs的上一层目录tools拷到项目路径下

4:例子里的有些文件会导入头文件base/CCConsole.h,需要注释掉,新版本已经没这个文件了,注释掉代码不会受影响

// #include "base/CCConsole.h"

  ABCJSBBridge.cpp文件更改一下:

#include "ABCJSBBridge.h"// include platform specific implement class
// #if (CC_TARGET_PLATFORM == CC_PLATFORM_MAC || CC_TARGET_PLATFORM == CC_PLATFORM_IOS)// #include "ABCJSBBridge-apple.h"
// #define JSBBridgeImpl  JSBBridgeApple// #elif (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)// 这里只实现了android的
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) #include "ABCJSBBridge-android.h"
#define JSBBridgeImpl  ABCJSBBridge_android#endifnamespace abc
{// singleton stuffstatic JSBBridge *s_SharedJSBBridge = nullptr;JSBBridge::JSBBridge(){DLLOG("Construct JSBBridge %p", this);init();}JSBBridge::~JSBBridge(){DLLOG("Destruct JSBBridge %p", this);s_SharedJSBBridge = nullptr;}JSBBridge* JSBBridge::getInstance(){if (!s_SharedJSBBridge){DLLOG("getInstance JSBBridge ");s_SharedJSBBridge = new (std::nothrow) JSBBridge();CCASSERT(s_SharedJSBBridge, "FATAL: Not enough memory for create JSBBridge");}return s_SharedJSBBridge;}bool JSBBridge::init(void){DLLOG("init JSBBridge ");_impl.reset(new JSBBridgeImpl());return true; // 原来没加上的}void JSBBridge::abcLog(const int level, const std::string& tag, const std::string& msg){_impl->abcLog(level, tag, msg);}
}

5:genbindings_test.py文件和以前的已经不一样了,对应的修改如下

    try:tojs_root = '%s/tools/tojs' % project_rootoutput_dir = '%s/cocos/scripting/js-bindings/auto' % project_root# cmd_args = {#                'cocos2dx.ini' : ('cocos2d-x', 'jsb_cocos2dx_auto'),#                'cocos2dx_webview.ini': ('webview', 'jsb_webview_auto'),#                'cocos2dx_video.ini': ('video', 'jsb_video_auto'),#                'cocos2dx_audioengine.ini' : ('cocos2dx_audioengine', 'jsb_cocos2dx_audioengine_auto'),#                'cocos2dx_extension.ini' : ('cocos2dx_extension', 'jsb_cocos2dx_extension_auto'),#                'cocos2dx_network.ini' : ('cocos2dx_network', 'jsb_cocos2dx_network_auto'),#                'gfx.ini': ('gfx', 'jsb_gfx_auto'),#                'renderer.ini': ('renderer', 'jsb_renderer_auto'),#                'cocos2dx_spine.ini': ('cocos2dx_spine','jsb_cocos2dx_spine_auto'),#                'cocos2dx_editor_support.ini': ('cocos2dx_editor_support','jsb_cocos2dx_editor_support_auto'),#                'cocos2dx_dragonbones.ini': ('cocos2dx_dragonbones','jsb_cocos2dx_dragonbones_auto'),# 'cocos2dx_particle.ini': ('cocos2dx_particle', 'jsb_cocos2dx_particle_auto')# }target = 'spidermonkey'generator_py = '%s/generator.py' % cxx_generator_root# for key in cmd_args.keys():#     args = cmd_args[key]#     cfg = '%s/%s' % (tojs_root, key)#     print 'Generating bindings for %s...' % (key[:-4])#     command = '%s %s %s -s %s -t %s -o %s -n %s' % (python_bin, generator_py, cfg, args[0], target, output_dir, args[1])#     print(command)#     _run_cmd(command)custom_cmd_args = {'cocos2dx_test.ini': ('cocos2dx_test', 'jsb_cocos2dx_test_auto')}for key in custom_cmd_args.keys():args = custom_cmd_args[key]cfg = '%s/%s' % (tojs_root, key)print 'Generating bindings for %s...' % (key[:-4])command = '%s %s %s -s %s -t %s -o %s -n %s' % (python_bin, generator_py, cfg, args[0], target, output_dir, args[1])print(command)_run_cmd(command)print '----------------------------------------'print 'Generating javascript bindings succeeds.'print '----------------------------------------'

7:对应的cocos2dx_test.ini修改,可以对照其他的ini文件修改

[cocos2dx_test]
prefix = cocos2dx_testtarget_namespace = abcandroid_headers = android_flags = -target armv7-none-linux-androideabi -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -DANDROID -D__ANDROID_API__=14 -gcc-toolchain %(gcc_toolchain_dir)s --sysroot=%(androidndkdir)s/platforms/android-14/arch-arm  -idirafter %(androidndkdir)s/sources/android/support/include -idirafter %(androidndkdir)s/sysroot/usr/include -idirafter %(androidndkdir)s/sysroot/usr/include/arm-linux-androideabi -idirafter %(clangllvmdir)s/lib64/clang/5.0/include -I%(androidndkdir)s/sources/cxx-stl/llvm-libc++/include -I%(cocosdir)s/external/android/arm64-v8a/include/v8clang_headers = 
clang_flags = -nostdinc -x c++ -std=c++11 -fsigned-char -U__SSE__cocos_headers = -I%(cocosdir)s/cocos -I%(cocosdir)s/cocos/platform/android -I%(cocosdir)s/external/sources  -I%(cocosdir)s/cocos/editor-support 
cocos_flags = -DANDROIDcxxgenerator_headers =# extra arguments for clang
extra_arguments = %(android_headers)s %(clang_headers)s %(cxxgenerator_headers)s %(cocos_headers)s %(android_flags)s %(clang_flags)s %(cocos_flags)s %(extra_flags)sheaders = %(cocosdir)s/cocos/test/ABCJSBBridge.hreplace_headers = classes = JSBBridgeclasses_need_extend = field = ParticleSimulator::[positionType emissionRate totalParticles duration emitterMode life lifeVar startSize startSizeVar endSize endSizeVar startSpin startSpinVar endSpin endSpinVar angle angleVar speed speedVar radialAccel radialAccelVar tangentialAccel tangentialAccelVar rotationIsDir startRadius startRadiusVar endRadius endRadiusVar rotatePerS rotatePerSVar aspectRatio]skip = JSBBridge::[init]remove_prefix = classes_have_no_parents = JSBBridgebase_classes_to_skip = Clonableabstract_classes = JSBBridgerename_functions =	rename_classes = 

8:如果没什么意外的话,运行genbindings_test.py就生成了我们需要的文件了

9: 官方没有给出对应的IABCJSBBridgeImpl的android实现,这里补上

(1):ABCJSBBridge-android.h文件


#ifndef __CC_ABCJSBBRIDGE_ANDROID_H__
#define __CC_ABCJSBBRIDGE_ANDROID_H__#include "platform/CCPlatformConfig.h"
#if CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID#include "test/CCIABCJSBBridgeIml.h"
#include "base/ccMacros.h"
#include "base/ccTypes.h"
#include <string>
#include <vector>
#include "jni.h"//! @brief  Helper class to handle file operations
class CC_DLL ABCJSBBridge_android : public abc::IABCJSBBridgeImpl
{
public:ABCJSBBridge_android();/*** @js NA* @lua NA*/virtual ~ABCJSBBridge_android();void abcLog(const int level, const std::string& tag, const std::string& msg);// void abcLog(const int level, const std::string& tag, ...);
};// end of platform group
/// @}#endif // CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID#endif // __CC_ABCJSBBRIDGE_ANDROID_H__

(2):ABCJSBBridge-android.cpp文件

#include "platform/CCPlatformConfig.h"
#if CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID// #include "../platform/CCCommon.h" ??
#include "ABCJSBBridge-android.h"
#include <android/log.h>
#include "../platform/android/jni/JniHelper.h"
#include "../platform/CCFileUtils.h"#define  LOG_TAG    "ABCJSBBridge-android.cpp"
#define  LOGD(level,tag, ...)  __android_log_print(level,tag,__VA_ARGS__)#include "base/ccMacros.h"
#include "base/ccTypes.h"ABCJSBBridge_android::ABCJSBBridge_android()
{
}ABCJSBBridge_android::~ABCJSBBridge_android()
{
}void ABCJSBBridge_android::abcLog(const int level, const std::string& tag, const std::string& msg) {
// void abcLog(const int level, const std::string& tag, ...) {LOGD(level, tag.c_str(), msg.c_str(), NULL);
}#endif // CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID

10:修改jsb_module_register.cpp文件,需要注意的文件指路径是在build\jsb-default\frameworks\runtime-src\Classes下面

11 :jsb_boot.js这个文件2.4已经去掉了,abc.JSBBridge = abc.JSBBridge.getInstance();这句代码是非必要的,现在我们可以在js代码里直接调用了

var level = 2;
var msg = "abc"
abc.JSBBridge.getInstance().abcLog(level, 'test', msg);

http://www.jmfq.cn/news/5281903.html

相关文章:

  • 南京建站公司哪家好/360优化大师下载
  • 怎样制作h5页面/seo网站优化软件价格
  • 网站制作 视频/百度排行榜风云
  • 网站建设是自己做好还是外包/宁波seo网站推广软件
  • 自己建一个影视网站要怎么做/企业宣传文案
  • 网站开发工作 岗位怎么称呼/百度快照怎么使用
  • 小网站 收入/seo搜索引擎优化书籍
  • 天津河东做网站贵吗/线上电脑培训班
  • 厦门微信网站建设/seo技术最新黑帽
  • 素材网站推荐/济南网站优化公司
  • 企业产品宣传册制作/如何进行seo
  • 企业公司开发票的作用/襄阳seo优化排名
  • 不关闭网站备案/网上国网app推广
  • 四川省住房建设厅官方网站/百度网盘搜索入口
  • 房县建设局网站/新闻最新热点
  • wordpress无法安装这个包/上海seo优化外包公司
  • 南宁培训网站建设/seo权重优化
  • 湖北省建筑信息平台/seo排名工具给您好的建议下载官网
  • 长沙南站建站/企点官网
  • 网站备案经验/windows优化大师怎么样
  • 奉新网站建设/济南seo快速霸屏
  • php仿博客园网站/海外短视频软件
  • 公司网站建设费用多少/漯河网络推广哪家好
  • 网站建设毕业论文/最新消息
  • asp网站开发的实训/微信营销案例
  • 福州网站建设方案书/网络服务包括
  • 义乌网站建设联系方式/seo的主要内容
  • 金融投资网站模板/百度免费推广方法
  • 做网站中二级导航链接到一级导航/免费b站推广网站短视频
  • vs哪个版本做网站好/seo免费推广软件