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 tocreate,compile,run
the-x
or-js
projects.
The cocos2d-console is implemented byPython
. You can use it inWindows,Mac or Linux
.
Requirement
- Python 2.7 is required(Now only support version 2.7).
- Required by iOS & Mac:
- Required by android:
- Android NDK
- Android SDK
- Apache Ant
- Required by win32:
- Required by linux:
- Please run the
build/install-deps-linux.sh
incocos2d-x
orcocos2d-js
to install the dependencies.
Setup Environment
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.
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: 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
)
How to add command
-
Editbin/cocos2d.ini
,and add the class name of your new plugin there. For example:
plugin_custom.CCPluginCustom
-
Create a file calledplugin_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 ofcocos -h
will show the available commands:
The result of run the commandcocos custom -p android
will look like this:
Add custom steps during compiling
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 becustom_step_script
. The value can be absolute or relative path.
-
Define a method namedhandle_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).
Advanced Features
- How to exclude files in resources directory when building for android
Contributing
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.