This repo is the engine framework for Cocos Creator, Cocos Creator is a game development tool focused on content creation, which has realized features like thorough scriptability, componentization and data driven, etc. on the basis of Cocos2d-x.
Cocos Creator's in-editor scene view and web runtime share the same framework, which is the content of this repo. It's originally forked from Cocos2d-html5, we build up an Entity Component architecture on it to meet the needs of Cocos Creator.
This framework is a cross-platform game engine written in Javascript and licensed under MIT. It supports major desktop and mobile browsers, it's also compatible with Cocos2d Javascript Binding engine to support native platforms like iOS, Android, Win32, Mac OS X.
The framework is naturally integrated with Cocos Creator, so it's not designed to be used independently.
- Install node.js v8.0.0+
- Install gulp-cli v3.9.0+
In cloned project folder, run the following command to setup dev environment:
# Initialize gulp task dependencies
# npm is a builtin CLI when you install Node.js
npm install
This is all you have to do to set engine development environment.
gulp build
- Install express:
npm install express
- Install gulp-qunit:
npm install gulp-qunit
npm test
-
Build for testing.
gulp build-test
-
Start express in cloned project folder.
node test/qunit/server.js
-
Open http://localhost:8511/bin/qunit-runner.html in your browser.
-
Build for testing.
gulp build-test
-
Start express in cloned project folder.
node test/visual-tests/server.js
-
Open http://localhost:8512/test/visual-tests/index.html in your browser.
View EngineErrorMap.md
All the debug infos are defined in file EngineErrorMap.md.
The file DebugInfos.json will be generated based on EngineErrorMap.md, when run gulp build* command.
For details below:
-
Define log in EngineErrorMap.md
example
### 1001 cocos2d: removeAction: Target not found
-
Define deprecated log in EngineErrorMap.md The log should be marked as DEPRECATED when then logId is no longer referenced in the project.
example
### 1000 <!-- DEPRECATED --> cc.ActionManager.addAction(): action must be non-null