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

来源:互联网 发布:淘宝是什么 编辑:程序博客网 时间:2024/05/15 20:23

COCOS2D-CONSOLE

  • Cocos2d-console
    • Overview
    • Requirement
    • Setup Environment
    • Usage
    • Attentions
    • How to add command
    • Add custom steps during compiling
    • Advanced Features
    • Contributing

Overview

cocos2d-console is a command line tool for cocos2d-x & cocos2d-js. It contains several commands for developers to create, compile, run the -x or -js projects.
The cocos2d-console is implemented by Python. You can use it in Windows, Mac or Linux.

Requirement

  • Python 2.7 is required (Now only support version 2.7).
  • Required by iOS & Mac:
    • XCode
  • Required by android:
    • Android NDK
    • Android SDK
    • Apache Ant
  • Required by win32:
    • Visual Studio
  • Required by linux:
    • Please run the build/install-deps-linux.sh in cocos2d-x or cocos2d-js to install the dependencies.

Setup Environment

Run the setup.py in the root directory of cocos2d-x or cocos2d-js.
If you are developing games for android, you should input the Android SDKAndroid NDK & Apache Ant path when the setup is running.

Usage

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

  • new
  • compile
  • deploy
  • run
  • jscompile
  • luacompile
  • gen-libs
  • gen-simulator
  • gen-templates
  • package

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: Command run depends on command deploy, and deploy depends on compile.

  • The command order is compile->deploy->run.
  • You can use command run like this: cocos run -p android --ndk-mode release
    (-p is available argument of run--ndk-mode is available argument of compile)

How to add command

  1. Edit bin/cocos2d.ini, and add the class name of your new plugin there. For example:

    plugin_custom.CCPluginCustom
  2. Create a file called plugin_custom.py in the plugins folder.
    A new, empty plugin, would look like the code shown below:

    import cocos# Plugins should be a subclass of CCPluginclass 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 of cocos -h will show the available commands:

    available commands
    The result of run the command cocos custom -p android will look like this:

    run custom

Add custom steps during compiling

When cocos compile is 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.json in the root of your project. like this:

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

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

  2. Define a method named handle_event in 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 by cocos compile.

Here are the pre-defined events:

eventsupport platformsspecial argumentspre-buildall platforms---post-buildall platforms---pre-ndk-buildandroid---post-ndk-buildandroid---pre-copy-assetsandroidassets-dir : The path of assets directorypost-copy-assetsandroidassets-dir : The path of assets directorypre-ant-buildandroid---post-ant-buildandroid---

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's release or debug
  • output-dir : The path of output directory.
  • ndk-build-mode : The value of parameter --ndk-mode. It's release or debug or none. (This argument is only available when target platform is android).

Advanced Features

  • How to exclude files in resources directory when building for android

Contributing

The code repository of cocos2d-console is 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) zhangbin@cocos2d-x.org, 2014-06-16 02:39

0 0
原创粉丝点击