COCOS2D-CONSOLE
Overview
cocos2d-console is a command line tool for cocos2d-x & cocos2d-js. It contains several commands for developers tocreate,compile,run
the-x
or-js
projects.
The cocos2d-console is implemented byPython
. You can use it inWindows,Mac or Linux
.
Run thesetup.py
in the root directory ofcocos2d-js
.
If you are developing games for android,you should input theAndroid SDK
,Android NDK
&Apache Ant
path when the setup is running.
Use the command line like this:cocos [command] [arguments]
Available commands:
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: Commandrun
depends on commanddeploy
,anddeploy
depends oncompile
.
- 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 ofrun
,249)">--ndk-modeis available argument ofcompile
)
-
Edit
bin/cocos2d.ini
,and add the class name of your new plugin there. For example: -
Create a file called
plugin_custom.py
in theplugins
folder.
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
-
Check the added command. The output of
cocos -h
will show the available commands:
The result of run the commandcocos custom -p android
will look like this:
Whencocos compile
is running,some events will be dispatched to the custom python scripts. You can use this function by these steps:
-
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. -
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 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'srelease
ordebug
- output-dir : The path of output directory.
- ndk-build-mode : The value of parameter
--ndk-mode
. It'sdebug
ornone
. (This argument is only available when target platform is android).
The code repository ofcocos2d-console
is on github:console repository
You can fork this github repository,add your contribution,then send a pull request to us.