Cocos2d-x v4.0 is just released recently. Most of the original posts I wrote were in v3.17.2 but I think they should work in v4.0 just fine. I’ll try to update them gradually if they are not updated already.
Cocos2d-x version 4.0 uses Metal instead of OpenGL(ES) for Apple devices. This means if you use v4.0, you can only deply to iOS v13 or higher! So, if you are planning to have all those previous iOS version supported down to v8.0, you should be using Cocos2d-x v3.17.2 instead.
I will assume that you know C++ pretty well. If you know C++98 but not the newer standards, you should have a look at the new features for C++11, C++14, C++17 and C++20. The best book for that would be the Effective Modern C++. Also, I recommend reading the FAQ page of the C++ ISO standard committee.
The basic Cocos2d-x topics are roughly going to be as bellow, but I will update this list as it folds out:
- Cocos2d-x Project Structure and The Director Class
- Node Class
- Sprite Class
- Scene Class
- Layer Class
- Input Devices
- Label
- Particles
- Parallax
For a more complete understanding of the game engine, you can read Cocos2d-x documentation pages. There is a Programmer’s Guide and a Tutorial page to go through if you want to.
If you use Dash, you will find the Cocos2d-x and C++ docs there too.
There are not many good or recent books in English about Cocos2d-x unfortunately! The latest you can find is this one:
Cocos2d Cross-Platform Game Development Cookbook – Second Edition