如何在编译cocos2d项目加入自己的脚本

前端之家收集整理的这篇文章主要介绍了如何在编译cocos2d项目加入自己的脚本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

COCOS2D-CONSOLE

@H_403_3@
  • Cocos2d-console
  • Overview

    cocos2d-console is a command line tool for cocos2d-x & cocos2d-js. It contains several commands for developers tocreate,compile,runthe-xor-jsprojects.
    The cocos2d-console is implemented byPython. You can use it inWindows,Mac or Linux.

    Requirement Setup Environment

    Run thesetup.pyin the root directory ofcocos2d-js.
    If you are developing games for android,you should input theAndroid SDK,Android NDK&Apache Antpath when the setup is running.

    Usage

    Use the command line like this:cocos [command] [arguments]
    Available commands:

    Attentions

    There are depend relationship between commands. Two rules about dependencies:

    • The dependent commands will be invoked first.
    • If command A depend on command B. When you are using command A,the arguments you used will be passed to command B.

    For example: Commandrundepends on commanddeploy,anddeploydepends oncompile.

    • The command order iscompile->deploy->run.
    • You can use commandrunlike this:cocos run -p android --ndk-mode release
      (-pis available argument ofrun,249)">--ndk-modeis available argument ofcompile)
    How to add command
    1. Editbin/cocos2d.ini,and add the class name of your new plugin there. For example:

      plugin_custom.CCPluginCustom
      
    2. Create a file calledplugin_custom.pyin thepluginsfolder.
      A new,empty plugin,would look like the code shown below:

      import cocos
      
      # Plugins should be a subclass of CCPlugin
      class CCPluginCustom(cocos.CCPlugin):   
          # in default category
          @staticmethod
          def plugin_category():
              return ""
      
          @staticmethod
          def plugin_name():
              return "custom"
      
          @staticmethod
          def brief_description():
              return "A custom plugin"                
      
          def run(self,argv,dependencies):
              print "plugin called!"
              print argv
      
    3. Check the added command. The output ofcocos -hwill show the available commands:


      The result of run the commandcocos custom -p androidwill look like this:

    Add custom steps during compiling

    Whencocos compileis running,some events will be dispatched to the custom python scripts. You can use this function by these steps:

    1. Define your custom script in.cocos-project.jsonin the root of your project. like this:

      ...
      "custom_step_script": "./custom_script.py",...
      

      The key must becustom_step_script. The value can be absolute or relative path.

    2. Define a method namedhandle_eventin your custom script like this:

      # custom_script.py
      # event is the event name which pre-defined in cocos command.
      # target_platform is the target platform which you are compiling for.
      # args is more arguments of event.
      def handle_event(event,target_platform,args):
        print("event is %s" % event)
        print("target_platform is %s" % target_platform)
        print("args is %s" % args)
      

    Then your custom script will be invoked when you are compiling your project bycocos compile.

    Here are the pre-defined events:

    event support platforms special arguments
    pre-build all platforms ---
    post-build pre-ndk-build android post-ndk-build pre-copy-assets assets-dir: The path of assets directory
    post-copy-assets pre-ant-build post-ant-build ---

    All events arguments will contains:

    • project-path : The path of project root directory.
    • platform-project-path : The path of current compiling platform directory.
    • build-mode : The value of parameter-m. It'sreleaseordebug
    • output-dir : The path of output directory.
    • ndk-build-mode : The value of parameter--ndk-mode. It'sdebugornone. (This argument is only available when target platform is android).
    Advanced Features Contributing

    The code repository ofcocos2d-consoleis on github:console repository
    You can fork this github repository,add your contribution,then send a pull request to us.

    available_cmds.jpg(54.9 kB)zhangbin@cocos2d-x.org,2014-06-16 02:39

    run_custom.jpg(19.7 kB)

    猜你在找的Cocos2d-x相关文章