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

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)

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...