zoukankan      html  css  js  c++  java
  • cocos2d-x c++ 导出lua

    使用脚本目录

    python  genbindings.py

    一.修改导出脚本

    修改 genbindings.py 

    cmd_args

    添加

    'cocos2dx_nodehelp.ini' : ('cocos2dx_nodehelp', 'lua_cocos2dx_nodehelp_auto'),

    导出路径修改 

     output_dir = '%s/tools/toluaself/auto' % project_root     

    二.添加导出类配置

    /Users/wangchengcheng/Documents/SelfZone/Cocos/MyGame/frameworks/cocos2d-x/tools/tolua

    拷贝一份 cocos2dx_spine.ini 的配置

    修改地方

    [cocos2dx_nodehelp]

    prefix = cocos2dx_nodehelp
    target_namespace = cc
    headers = %(cocosdir)s/tools/tolua/toluaclass/NodeHelp.h
    classes = NodeHelp
    skip =
    abstract_classes =
    extra_arguments = %(android_headers)s %(clang_headers)s %(android_flags)s %(clang_flags)s %(extral_tolua_class)s %(extra_flags)s
     
     
     
     
     
    cocos2dx_nodehelp.ini

    [cocos2dx_nodehelp]
    # the prefix to be added to the generated functions. You might or might not use this in your own
    # templates
    prefix = cocos2dx_nodehelp

    # create a target namespace (in javascript, this would create some code like the equiv. to `ns = ns || {}`)
    # all classes will be embedded in that namespace
    target_namespace = cc

    android_headers = -I%(androidndkdir)s/platforms/android-14/arch-arm/usr/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/%(gnu_libstdc_version)s/libs/armeabi-v7a/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/%(gnu_libstdc_version)s/include
    android_flags = -D_SIZE_T_DEFINED_

    clang_headers = -I%(clangllvmdir)s/%(clang_lib_version)s/clang/%(clang_version)s/include
    clang_flags = -nostdinc -x c++ -std=c++11 -U __SSE__

    cocos_headers = -I%(cocosdir)s/cocos -I%(cocosdir)s/cocos/editor-support -I%(cocosdir)s/cocos/platform/android -I%(cocosdir)s/external

    cocos_flags = -DANDROID

    cxxgenerator_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)s

    # what headers to parse
    headers = %(cocosdir)s/tools/tolua/toluaclass/NodeHelp.h

    # what classes to produce code for. You can use regular expressions here. When testing the regular
    # expression, it will be enclosed in "^$", like this: "^Menu*$".
    classes = NodeHelp

    # what should we skip? in the format ClassName::[function function]
    # ClassName is a regular expression, but will be used like this: "^ClassName$" functions are also
    # regular expressions, they will not be surrounded by "^$". If you want to skip a whole class, just
    # add a single "*" as functions. See bellow for several examples. A special class name is "*", which
    # will apply to all class names. This is a convenience wildcard to be able to skip similar named
    # functions from all classes.

    skip = SkeletonRenderer::[findBone findSlot getAttachment setAttachment update draw createWithData],
    *::[update draw drawSkeleton],
    SkeletonAnimation::[setAnimationStateData createWithData addAnimation getCurrent setAnimation onAnimationStateEvent onTrackEntryEvent getState createWithFile]

    rename_functions =

    rename_classes =

    # for all class names, should we remove something when registering in the target VM?
    remove_prefix =

    # classes for which there will be no "parent" lookup
    classes_have_no_parents =

    # base classes which will be skipped when their sub-classes found them.
    base_classes_to_skip =

    # classes that create no constructor
    # Set is special and we will use a hand-written constructor
    abstract_classes = Skeleton SkeletonAnimation

    # Determining whether to use script object(js object) to control the lifecycle of native(cpp) object or the other way around. Supported values are 'yes' or 'no'.
    script_control_cpp = no

    cocos2dx_formatlabel

    [cocos2dx_formatlabel]
    # the prefix to be added to the generated functions. You might or might not use this in your own
    # templates
    prefix = cocos2dx_formatlabel

    # create a target namespace (in javascript, this would create some code like the equiv. to `ns = ns || {}`)
    # all classes will be embedded in that namespace
    target_namespace = cc

    android_headers = -I%(androidndkdir)s/platforms/android-14/arch-arm/usr/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/%(gnu_libstdc_version)s/libs/armeabi-v7a/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/%(gnu_libstdc_version)s/include
    android_flags = -D_SIZE_T_DEFINED_

    clang_headers = -I%(clangllvmdir)s/%(clang_lib_version)s/clang/%(clang_version)s/include
    clang_flags = -nostdinc -x c++ -std=c++11 -U __SSE__

    cocos_headers = -I%(cocosdir)s/cocos -I%(cocosdir)s/my -I%(cocosdir)s/cocos/2d -I%(cocosdir)s/cocos/base -I%(cocosdir)s/cocos/ui -I%(cocosdir)s/cocos/physics -I%(cocosdir)s/cocos/2d/platform -I%(cocosdir)s/cocos/2d/platform/android -I%(cocosdir)s/cocos/math/kazmath -I%(cocosdir)s/extensions -I%(cocosdir)s/external -I%(cocosdir)s/cocos/editor-support -I%(cocosdir)s

    cocos_flags = -DANDROID

    cxxgenerator_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)s

    # what headers to parse
    headers = %(cocosdir)s/tools/toluaself/class/GUI/CCFormatLabel/CCFormatLabel.h

    # what classes to produce code for. You can use regular expressions here. When testing the regular
    # expression, it will be enclosed in "^$", like this: "^Menu*$".
    classes = CCFormatLabel.*

    # what should we skip? in the format ClassName::[function function]
    # ClassName is a regular expression, but will be used like this: "^ClassName$" functions are also
    # regular expressions, they will not be surrounded by "^$". If you want to skip a whole class, just
    # add a single "*" as functions. See bellow for several examples. A special class name is "*", which
    # will apply to all class names. This is a convenience wildcard to be able to skip similar named
    # functions from all classes.

    skip = SkeletonRenderer::[findBone findSlot getAttachment setAttachment update draw createWithData],
    *::[update draw drawSkeleton],
    SkeletonAnimation::[setAnimationStateData createWithData addAnimation getCurrent setAnimation onAnimationStateEvent onTrackEntryEvent getState createWithFile]

    rename_functions =

    rename_classes =

    # for all class names, should we remove something when registering in the target VM?
    remove_prefix =

    # classes for which there will be no "parent" lookup
    classes_have_no_parents =

    # base classes which will be skipped when their sub-classes found them.
    base_classes_to_skip =

    # classes that create no constructor
    # Set is special and we will use a hand-written constructor
    abstract_classes = Skeleton SkeletonAnimation

    # Determining whether to use script object(js object) to control the lifecycle of native(cpp) object or the other way around. Supported values are 'yes' or 'no'.
    script_control_cpp = no

    [cocos2dx_wrappernode]
    # the prefix to be added to the generated functions. You might or might not use this in your own
    # templates
    prefix = cocos2dx_wrappernode

    # create a target namespace (in javascript, this would create some code like the equiv. to `ns = ns || {}`)
    # all classes will be embedded in that namespace
    target_namespace = cc

    android_headers = -I%(androidndkdir)s/platforms/android-14/arch-arm/usr/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/%(gnu_libstdc_version)s/libs/armeabi-v7a/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/%(gnu_libstdc_version)s/include
    android_flags = -D_SIZE_T_DEFINED_

    clang_headers = -I%(clangllvmdir)s/%(clang_lib_version)s/clang/%(clang_version)s/include
    clang_flags = -nostdinc -x c++ -std=c++11 -U __SSE__

    cocos_headers = -I%(cocosdir)s/cocos -I%(cocosdir)s/my -I%(cocosdir)s/cocos/2d -I%(cocosdir)s/cocos/base -I%(cocosdir)s/cocos/ui -I%(cocosdir)s/cocos/physics -I%(cocosdir)s/cocos/2d/platform -I%(cocosdir)s/cocos/2d/platform/android -I%(cocosdir)s/cocos/math/kazmath -I%(cocosdir)s/extensions -I%(cocosdir)s/external -I%(cocosdir)s/cocos/editor-support -I%(cocosdir)s

    cocos_flags = -DANDROID

    cxxgenerator_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)s

    # what headers to parse
    headers = %(cocosdir)s/tools/toluaself/class/GUI/CCGUIWrapper/CCWrapperNode.h

    # what classes to produce code for. You can use regular expressions here. When testing the regular
    # expression, it will be enclosed in "^$", like this: "^Menu*$".
    classes = CCWrapperNode.* CCWrapperFormatLabel.* CCWrapperAnimation.* CCWrapperImageView.* CCWrapperSprite.* CCWrapperLabel.* CCWrapperLabelTTF.*

    # what should we skip? in the format ClassName::[function function]
    # ClassName is a regular expression, but will be used like this: "^ClassName$" functions are also
    # regular expressions, they will not be surrounded by "^$". If you want to skip a whole class, just
    # add a single "*" as functions. See bellow for several examples. A special class name is "*", which
    # will apply to all class names. This is a convenience wildcard to be able to skip similar named
    # functions from all classes.

    skip = SkeletonRenderer::[findBone findSlot getAttachment setAttachment update draw createWithData],
    *::[update draw drawSkeleton],
    SkeletonAnimation::[setAnimationStateData createWithData addAnimation getCurrent setAnimation onAnimationStateEvent onTrackEntryEvent getState createWithFile]

    rename_functions =

    rename_classes =

    # for all class names, should we remove something when registering in the target VM?
    remove_prefix =

    # classes for which there will be no "parent" lookup
    classes_have_no_parents =

    # base classes which will be skipped when their sub-classes found them.
    base_classes_to_skip =

    # classes that create no constructor
    # Set is special and we will use a hand-written constructor
    abstract_classes = Skeleton SkeletonAnimation

    # Determining whether to use script object(js object) to control the lifecycle of native(cpp) object or the other way around. Supported values are 'yes' or 'no'.
    script_control_cpp = no

     
     
  • 相关阅读:
    SPSS Clementine 数据挖掘入门1
    SPSS19.0实战之多元线性回归
    SPSS19.0实战之聚类分析
    使用PowerDesigner建立数据库模型【转】
    Power Desginer系列03【转载】
    Power Desginer系列02【转载】
    Power Desginer系列01【转摘】
    Power Desginer系列00【转载】
    PowerDesigner概念设计模型(CDM)中的3种实体关系
    PowerDesigner教程系列(一)概念数据模型
  • 原文地址:https://www.cnblogs.com/cci8go/p/7684392.html
Copyright © 2011-2022 走看看