2013-08-07 06:07:42 +08:00
< img src = "http://www.cocos2d-x.org/attachments/801/cocos2dx_portrait.png" width = 200 >
cocos2d-x
=========
2018-01-17 14:34:05 +08:00
|Win32|Others|
| ----|------|
[![Build status ](https://ci.appveyor.com/api/projects/status/nlgirox464j6ldg5/branch/v3?svg=true )](https://ci.appveyor.com/project/minggo/cocos2d-x/branch/v3)|[![Build Status](https://travis-ci.org/cocos2d/cocos2d-x.svg?branch=v3)](https://travis-ci.org/cocos2d/cocos2d-x)
2015-03-24 13:47:12 +08:00
2013-08-07 06:07:42 +08:00
[cocos2d-x][1] is a multi-platform framework for building 2d games, interactive books, demos and other graphical applications.
It is based on [cocos2d-iphone][2], but instead of using Objective-C, it uses C++.
2019-07-08 13:45:23 +08:00
It works on iOS, Android, OS X, Windows and Linux.
2013-08-07 06:07:42 +08:00
2015-07-28 17:31:14 +08:00
**Cocos2d-x Framework Architecture**:
2019-07-08 13:45:23 +08:00
![](docs/framework_architecture_v4.png "")
2015-07-28 17:31:14 +08:00
2013-08-07 06:07:42 +08:00
cocos2d-x is:
* Fast
* Free
* Easy to use
2016-01-19 23:06:10 +08:00
* Community supported
2013-08-07 06:07:42 +08:00
2014-05-16 15:15:06 +08:00
Git user attention
-----------------------
2015-06-07 19:29:32 +08:00
1. Clone the repo from GitHub.
2014-09-18 01:36:00 +08:00
2015-06-07 19:29:32 +08:00
$ git clone https://github.com/cocos2d/cocos2d-x.git
2014-09-13 01:01:48 +08:00
2. After cloning the repo, please execute `download-deps.py` to download and install dependencies.
2014-05-16 15:15:06 +08:00
$ cd cocos2d-x
2015-06-11 06:49:05 +08:00
cocos2d-x $ python download-deps.py
2013-08-07 06:07:42 +08:00
2014-09-13 01:01:48 +08:00
3. After running `download-deps.py` .
2014-09-18 01:36:00 +08:00
2015-06-11 06:49:05 +08:00
cocos2d-x $ git submodule update --init
2013-08-07 06:07:42 +08:00
2015-07-16 16:53:43 +08:00
Download stable versions
-----------------------
2015-07-16 23:32:18 +08:00
* [Cocos2d-x stable versions ](http://www.cocos2d-x.org/download )
2015-07-16 16:53:43 +08:00
Documentations and samples
-------------
2016-04-06 04:17:52 +08:00
* [All Docs in a single place! ](http://cocos2d-x.org/docs/ )
2019-07-08 13:45:23 +08:00
* [Online API Reference ](http://cocos2d-x.org/docs/api-ref/index.html ) _Note that Cocos2d-x and Cocos Creator have different API set_
2016-04-06 04:17:52 +08:00
* [Programmers Guide ](http://cocos2d-x.org/docs/programmers-guide/2/index.html )
2015-07-16 16:53:43 +08:00
* [Latest Release Note ](https://github.com/cocos2d/cocos2d-x/blob/v3/docs/RELEASE_NOTES.md )
* [Changelog ](https://github.com/cocos2d/cocos2d-x/blob/v3/CHANGELOG )
2015-04-16 01:23:49 +08:00
2013-08-07 06:07:42 +08:00
Main features
-------------
* Scene management (workflow)
* Transitions between scenes
* Sprites and Sprite Sheets
* Effects: Lens, Ripple, Waves, Liquid, etc.
* Actions (behaviours):
2016-07-07 22:59:57 +08:00
* Transformation Actions: Move, Rotate, Scale, Fade, Tint, etc.
2013-08-07 06:07:42 +08:00
* Composable actions: Sequence, Spawn, Repeat, Reverse
* Ease Actions: Exp, Sin, Cubic, Elastic, etc.
* Misc actions: CallFunc, OrbitCamera, Follow, Tween
* Basic menus and buttons
* Integrated with physics engines: [Box2d][5] and [Chipmunk][6]
* Particle system
* Skeleton Animations: [Spine][7] and Armature support
* Fonts:
* Fast font rendering using Fixed and Variable width fonts
* Support for .ttf fonts
* Tile Map support: Orthogonal, Isometric and Hexagonal
* Parallax scrolling
* Motion Streak
* Render To Texture
* Touch/Accelerometer on mobile devices
2014-01-07 14:09:05 +08:00
* Touch/Mouse/Keyboard on desktop
2019-06-12 09:23:16 +08:00
* Sound Engine support
2013-08-07 06:07:42 +08:00
* Integrated Slow motion/Fast forward
* Fast and compressed textures: PVR compressed and uncompressed textures, ETC1 compressed textures, and more
2014-08-05 18:03:21 +08:00
* Resolution Independent
2013-08-07 06:07:42 +08:00
* Language: C++, with Lua and JavaScript bindings
2014-08-05 18:03:21 +08:00
* Open Source Commercial Friendly(MIT): Compatible with open and closed source projects
2019-02-28 15:01:59 +08:00
* OpenGL ES 2.0 (mobile) / OpenGL 2.1 (desktop) / metal(macos and iOS) based
2013-08-07 06:07:42 +08:00
Build Requirements
------------------
2018-01-16 13:47:21 +08:00
* Mac OS X 10.7+, Xcode 8+
2018-05-21 17:06:29 +08:00
* or Ubuntu 14.04+, CMake 3.1+
2018-01-16 13:47:21 +08:00
* or Windows 7+, VS 2015
2018-05-21 17:06:29 +08:00
* Python 2.7.5+(NOT Python 3)
2018-01-16 13:47:21 +08:00
* NDK r16+ is required to build Android games
2018-05-21 17:06:29 +08:00
* Android Studio 3.0.0+ to build Android games(tested with 3.0.0)
2015-07-16 16:53:43 +08:00
* JRE or JDK 1.6+ is required for web publishing
2013-08-07 06:07:42 +08:00
Runtime Requirements
--------------------
2018-01-19 16:55:38 +08:00
* iOS 8.0+ for iPhone / iPad games
2018-05-21 17:06:29 +08:00
* Android 3.0.0+ for Android
2016-08-04 14:02:40 +08:00
* OS X v10.9+ for Mac games
2013-08-07 06:07:42 +08:00
* Windows 7+ for Win games
2019-02-28 15:01:59 +08:00
Environment Setup
2013-08-07 06:07:42 +08:00
--------------------
2019-02-28 15:01:59 +08:00
Should set up environment before starting a new game or running tests
2013-08-07 06:07:42 +08:00
2015-07-16 16:53:43 +08:00
```
2019-02-28 15:01:59 +08:00
$ cd cocos2d-x
$ ./setup.py
$ source FILE_TO_SAVE_SYSTEM_VARIABLE
2013-08-07 06:07:42 +08:00
```
2019-02-28 15:01:59 +08:00
Should invoke this script if using linux system
2013-08-07 06:07:42 +08:00
```
2019-02-28 15:01:59 +08:00
$ cd cocos2d-x
$ ./install-linux-deps.sh
2014-01-07 16:25:37 +08:00
```
2019-02-28 15:01:59 +08:00
Running Tests
--------------------
2014-01-07 16:25:37 +08:00
```
2019-02-28 15:01:59 +08:00
$ cd cocos2d-x
$ mkdir build
$ cd build
$ cocos run --proj-dir .. -p [mac|windows|android|linux|ios]
2013-08-07 06:07:42 +08:00
```
2019-02-28 15:01:59 +08:00
How to start a new game
-----------------------
2013-08-07 06:07:42 +08:00
2019-02-28 15:01:59 +08:00
$ cd cocos2d-x
$ ./setup.py
$ source FILE_TO_SAVE_SYSTEM_VARIABLE
$ cocos new MyGame -p com.your_company.mygame -l cpp -d NEW_PROJECTS_DIR
$ cd NEW_PROJECTS_DIR/MyGame
$ mkdir build
$ cd build
$ cocos run --proj-dir .. -p [mac|windows|android|linux|ios]
2013-08-07 06:07:42 +08:00
2019-07-08 13:45:23 +08:00
You can also create a Lua project with `-l lua` .
2013-08-07 06:07:42 +08:00
2019-02-28 15:01:59 +08:00
Using IDE
----------------------------
2013-08-07 11:18:19 +08:00
2019-02-28 15:01:59 +08:00
If need to debug program, then it is more convinent to use IDE to run and debug it. All platforms other than Android can use CMake to generate corresponding project file. Can refer to [Detail CMake Guide ](cmake/README.md ) for detail information.
2016-08-04 16:51:19 +08:00
2019-02-28 15:01:59 +08:00
For Android, the Android Studio project file lies in `PROJECT_DIR/proj.android` . Can just use Android Studio to import the exsting project file.
2018-03-08 16:08:13 +08:00
2015-12-05 04:27:51 +08:00
Learning Resources
--------------------------------
2016-04-06 04:17:52 +08:00
* [Programmers Guide ](http://cocos2d-x.org/docs/programmers-guide/2/index.html )
2015-12-05 04:27:51 +08:00
* [Sonar Systems Videos ](https://www.youtube.com/user/sonarsystemslimited/search?query=cocos2d-x )
* [Android Fundamentals ](https://developer.android.com/guide/components/fundamentals.html )
* [Make School Tutorials ](https://www.makeschool.com/tutorials/ )
* [Games From Scratch ](http://www.gamefromscratch.com/page/Cocos2d-x-CPP-Game-Programming-Tutorial-Series.aspx )
* [Cocos2d sample games ](https://github.com/cocos2d/cocos2d-x-samples )
Spreading the word!
--------------------------------
You can help us spread the word about cocos2d-x! We would surely appreciate it!
* Talk about us on Facebook! Our [Facebook Page ](https://www.facebook.com/cocos2dx/ )
* Tweet, Tweet! Our [Twitter ](https://twitter.com/cocos2dx )
* Read our [Blog ](http://blog.cocos2d-x.org/ ) and promote it on your social media.
* Become a [Regional Coordinator ](http://discuss.cocos2d-x.org/t/we-need-regional-coordinators/24104 )
2016-03-15 22:41:35 +08:00
See what we are planning!
--------------------------------
You can see exactly what we are planning to do with the Cocos family of products.
* [Cocos2d-x roadmap ](https://trello.com/b/Np6obnuE/cocos2d-x-roadmap )
2015-12-05 04:27:51 +08:00
Where to get help
--------------------------------
2018-05-21 17:06:29 +08:00
* [English Forums ](http://discuss.cocos2d-x.org )
* [中文社区 ](http://forum.cocos.com/c/cocos2d-x )
2015-12-05 04:27:51 +08:00
* [Bug Tracker ](https://github.com/cocos2d/cocos2d-x/issues )
2018-05-21 17:06:29 +08:00
* [API Reference ](http://cocos2d-x.org/docs/api-ref/index.html ).
* [Latest Release Note ](https://github.com/cocos2d/cocos2d-x/blob/v3/docs/RELEASE_NOTES.md )
* [Changelog ](https://github.com/cocos2d/cocos2d-x/blob/v3/CHANGELOG )
2015-12-05 04:27:51 +08:00
* IRC. We are in [Freenode ](https://webchat.freenode.net/ ) in the _#cocos2d_ channel
* `cpp-tests` project. This project is our basis for testing. Use this project to
learn how we implement the functionality of the engine. This project is located in
__cocos2d-x_root/build.__
2013-08-07 06:07:42 +08:00
Contributing to the Project
--------------------------------
2016-01-19 23:06:10 +08:00
Cocos2d-x is licensed under the [MIT License ](https://opensource.org/licenses/MIT ). We welcome participation!
2016-01-05 03:48:40 +08:00
2013-08-07 06:07:42 +08:00
Did you find a bug? Do you have feature request? Do you want to merge a feature?
* [contributing to cocos2d-x][8]
Contact us
----------
2016-04-06 04:17:52 +08:00
* Forum: [http://discuss.cocos2d-x.org][9]
2013-08-07 06:07:42 +08:00
* Twitter: [http://www.twitter.com/cocos2dx][10]
* Weibo: [http://t.sina.com.cn/cocos2dx][11]
[1]: http://www.cocos2d-x.org "cocos2d-x"
[2]: http://www.cocos2d-iphone.org "cocos2d for iPhone"
[3]: http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Download
2013-09-29 10:54:46 +08:00
[4]: http://www.cocos2d-x.org/download/version#Cocos2d-x
2013-08-07 06:07:42 +08:00
[5]: http://www.box2d.org "Box2D"
[6]: http://www.chipmunk-physics.net "Chipmunk2D"
[7]: http://esotericsoftware.com/ "http://esotericsoftware.com/"
2015-09-21 22:30:37 +08:00
[8]: https://github.com/cocos2d/cocos2d-x/blob/v3/CONTRIBUTING.md
2016-04-06 04:17:52 +08:00
[9]: http://discuss.cocos2d-x.org "http://discuss.cocos2d-x.org"
2013-08-07 06:07:42 +08:00
[10]: http://www.twitter.com/cocos2dx "http://www.twitter.com/cocos2dx"
[11]: http://t.sina.com.cn/cocos2dx "http://t.sina.com.cn/cocos2dx"