.. | ||
.circleci | ||
.github | ||
.vscode | ||
bin | ||
cocos2d | ||
docs | ||
editor | ||
extensions | ||
external | ||
gulp | ||
licenses | ||
polyfill | ||
.editorconfig | ||
.eslintrc.json | ||
.gitignore | ||
.gitpod.Dockerfile | ||
.gitpod.yml | ||
.jshintrc | ||
api.d.ts | ||
AUTHORS.txt | ||
CHANGELOG.txt | ||
EngineErrorMap.md | ||
extends.js | ||
gulpfile.js | ||
index.js | ||
MAINTAINERS | ||
modules.json | ||
package.json | ||
predefine.js | ||
README.md | ||
tsconfig.json | ||
VERSION.md |
Cocos Creator
Cocos Creator is a complete package of game development tools and workflow, including a game engine, resource management, scene editing, game preview, debug and publish one project to multiple platforms. Cocos Creator focused on content creation, which has realized features like thorough scriptability, componentization and data driven, etc. on the basis of Cocos2d-x. With JavaScript, you can scripting your component in no time. The editor and engine extension is also made with JavaScript so you can make games and refine your tool in a single programming language. Cocos Creator is an provides an innovative, easy to use toolset such as the UI system and Animation editor. The toolset will be expanding continuously and quickly, thanks to the open editor extension system.
This repo is the engine framework for Cocos Creator. 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, macOS.
The framework is naturally integrated with Cocos Creator, so it's not designed to be used independently.
Developer
Prerequisite
- Install node.js v8.0.0+
- Install gulp-cli v3.9.0+
Install
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.
Build
gulp build
If the compilation process encounters a "JavaScript heap out memory" warning, you can use the following command line
gulp build --max-old-space-size=8192
Test
Prerequisite
- Install express:
npm install express
. - Install gulp-qunit:
npm install gulp-qunit
.
Unit Test
-
Test in CLI
npm test
-
Test in browser
-
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.
-
Online one-click Setup
You can use Gitpod(an online IDE which is free for Open Source) for developing the project online. With a single click it will launch a workspace and automatically:
- clone the
Cocos Creator
repo. - install all the dependencies mentioned above.
- run
gulp build
,npm test
in separate terminals. - start the express server and open http://localhost:8511/bin/qunit-runner.html in the right corner of the IDE.
DebugInfos
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