a2eb8977e0
This is leaking the eaglview when the Director is purged. In our case, we are leaving the cocos environment on some views which are implemented with cocoa, and because this eaglview is not being released, it is getting notifications for keyboard events, and trying to access stuff on the NULL eaglview, crashing our app. Uncommnenting this line seems to fix the problem for us, and we haven't been able to find any nasty side effects. |
||
---|---|---|
build | ||
cmake | ||
cocos | ||
docs | ||
extensions | ||
external | ||
licenses | ||
plugin@1f492bdb01 | ||
templates | ||
tests | ||
tools | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
AUTHORS | ||
CHANGELOG | ||
CMakeLists.txt | ||
README.cmake | ||
README.md | ||
download-deps.py | ||
setup.py |
README.md
cocos2d-x
cocos2d-x is a multi-platform framework for building 2d games, interactive books, demos and other graphical applications. It is based on cocos2d-iphone, but instead of using Objective-C, it uses C++. It works on iOS, Android, Windows Phone, OS X, Windows and Linux.
cocos2d-x is:
- Fast
- Free
- Easy to use
- Community Supported
Git user attention
-
clone the repo from GitHub.
$ git clone git@github.com:cocos2d/cocos2d-x.git
-
After cloning the repo, please execute
download-deps.py
to download and install dependencies.$ cd cocos2d-x $ python download-deps.py
-
After running
download-deps.py
.$ cd cocos2d-x $ git submodule update --init
How to start a new game
- Download the code from cocos2d download site
- Run
setup.py
- Run the
cocos
script
Example:
$ 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
Build and run a new project for Android
$ cocos run -p android -j 4
Build and run a new project for iOS
$ cocos run -p ios
Build and run a new project for OSX
$ cocos run -p mac
Build and run a new project for Linux
if you never run cocos2d-x on Linux, you need to install all dependencies by the script in cocos2d/build/install-deps-linux.sh
$ cd cocos2d-x/build
$ ./install-deps-linux.sh
Then
$ cd NEW_PROJECTS_DIR/MyGame
$ cocos run -p linux
Run
$ bin/MyGame
Build and run new project for win32
$ cocos run -p win32
Main features
- Scene management (workflow)
- Transitions between scenes
- Sprites and Sprite Sheets
- Effects: Lens, Ripple, Waves, Liquid, etc.
- Actions (behaviours):
- Trasformation Actions: Move, Rotate, Scale, Fade, Tint, etc.
- 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 and Chipmunk
- Particle system
- Skeleton Animations: Spine 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
- Touch/Mouse/Keyboard on desktop
- Sound Engine support (CocosDenshion library) based on OpenAL
- Integrated Slow motion/Fast forward
- Fast and compressed textures: PVR compressed and uncompressed textures, ETC1 compressed textures, and more
- Resolution Independent
- Language: C++, with Lua and JavaScript bindings
- Open Source Commercial Friendly(MIT): Compatible with open and closed source projects
- OpenGL ES 2.0 (mobile) / OpenGL 2.1 (desktop) based
Build Requirements
- Mac OS X 10.7+, Xcode 5.1+
- or Ubuntu 12.10+, CMake 2.6+
- or Windows 7+, VS 2012+
- Python 2.7.5
- NDK r9d is required to build Android games
Runtime Requirements
- iOS 5.0+ for iPhone / iPad games
- Android 2.3+ for Android games
- Windows Phone 8+ for Windows Phone games
- OS X v10.6+ for Mac games
- Windows 7+ for Win games
Running Tests
Select the test you want from Xcode Scheme chooser.
- For OS X / iOS
$ cd cocos2d-x/build
$ open cocos_tests.xcodeproj
- For Linux
$ cd cocos2d-x/build
$ ./install-deps-linux.sh
$ cmake ..
$ make
Run Samples
$ bin/cpp-empty-test/cpp-empty-test
or
$ bin/lua-empty-test/lua-empty-test
You may meet building errors when building libGLFW.so. It is because libGL.so directs to an error target,
you should make it to direct to a correct one. `install-deps-linux.sh` only has to be run once.
- For Windows
Open the cocos2d-x/build/cocos2d-win32.vc2012.sln
- For Android
$ cd cocos2d-x/build
$ python ./android-build.py cpp-empty-test -p 10
$ adb install ../tests/cpp-empty-tst/proj.android/bin/CppEmptyTest-debug.apk
Then click item on Android device to run tests. Available value of -p
is the API level, cocos2d-x supports from level 10.
Contributing to the Project
Did you find a bug? Do you have feature request? Do you want to merge a feature?
Contact us
- Forum: http://forum.cocos2d-x.org
- Twitter: http://www.twitter.com/cocos2dx
- Weibo: http://t.sina.com.cn/cocos2dx
- IRC: https://webchat.freenode.net/ (#cocos2d and #cocos2d-x channels)