求助:对于一名普通c2d游戏程序员来说,box2d源码要看懂几成

sourceinsight留意了一下,cocos2d-x3.2里的box2d,
就下面几个文件,最长的文件也不到1000行。
工作不是很忙,打算好好研究下
chipmunk相对简单,但名头不响暂时不考虑看
不知道难度如何,有研究透的朋友吗?
另外cocos2d-x里是否是阉割版的box2d?

├── Android.mk
├── Box2D.h
├── CMakeLists.txt
├── Collision
│ ├── b2BroadPhase.cpp
│ ├── b2BroadPhase.h
│ ├── b2CollideCircle.cpp
│ ├── b2CollideEdge.cpp
│ ├── b2CollidePolygon.cpp
│ ├── b2Collision.cpp
│ ├── b2Collision.h
│ ├── b2Distance.cpp
│ ├── b2Distance.h
│ ├── b2DynamicTree.cpp
│ ├── b2DynamicTree.h
│ ├── b2TimeOfImpact.cpp
│ ├── b2TimeOfImpact.h
│ └── Shapes
│ ├── b2ChainShape.cpp
│ ├── b2ChainShape.h
│ ├── b2CircleShape.cpp
│ ├── b2CircleShape.h
│ ├── b2EdgeShape.cpp
│ ├── b2EdgeShape.h
│ ├── b2PolygonShape.cpp
│ ├── b2PolygonShape.h
│ └── b2Shape.h
├── Common
│ ├── b2BlockAllocator.cpp
│ ├── b2BlockAllocator.h
│ ├── b2Draw.cpp
│ ├── b2Draw.h
│ ├── b2GrowableStack.h
│ ├── b2Math.cpp
│ ├── b2Math.h
│ ├── b2Settings.cpp
│ ├── b2Settings.h
│ ├── b2StackAllocator.cpp
│ ├── b2StackAllocator.h
│ ├── b2Timer.cpp
│ └── b2Timer.h
├── Dynamics
│ ├── b2Body.cpp
│ ├── b2Body.h
│ ├── b2ContactManager.cpp
│ ├── b2ContactManager.h
│ ├── b2Fixture.cpp
│ ├── b2Fixture.h
│ ├── b2Island.cpp
│ ├── b2Island.h
│ ├── b2TimeStep.h
│ ├── b2World.cpp
│ ├── b2World.h
│ ├── b2WorldCallbacks.cpp
│ ├── b2WorldCallbacks.h
│ ├── Contacts
│ │ ├── b2ChainAndCircleContact.cpp
│ │ ├── b2ChainAndCircleContact.h
│ │ ├── b2ChainAndPolygonContact.cpp
│ │ ├── b2ChainAndPolygonContact.h
│ │ ├── b2CircleContact.cpp
│ │ ├── b2CircleContact.h
│ │ ├── b2Contact.cpp
│ │ ├── b2Contact.h
│ │ ├── b2ContactSolver.cpp
│ │ ├── b2ContactSolver.h
│ │ ├── b2EdgeAndCircleContact.cpp
│ │ ├── b2EdgeAndCircleContact.h
│ │ ├── b2EdgeAndPolygonContact.cpp
│ │ ├── b2EdgeAndPolygonContact.h
│ │ ├── b2PolygonAndCircleContact.cpp
│ │ ├── b2PolygonAndCircleContact.h
│ │ ├── b2PolygonContact.cpp
│ │ └── b2PolygonContact.h
│ └── Joints
│ ├── b2DistanceJoint.cpp
│ ├── b2DistanceJoint.h
│ ├── b2FrictionJoint.cpp
│ ├── b2FrictionJoint.h
│ ├── b2GearJoint.cpp
│ ├── b2GearJoint.h
│ ├── b2Joint.cpp
│ ├── b2Joint.h
│ ├── b2MotorJoint.cpp
│ ├── b2MotorJoint.h
│ ├── b2MouseJoint.cpp
│ ├── b2MouseJoint.h
│ ├── b2PrismaticJoint.cpp
│ ├── b2PrismaticJoint.h
│ ├── b2PulleyJoint.cpp
│ ├── b2PulleyJoint.h
│ ├── b2RevoluteJoint.cpp
│ ├── b2RevoluteJoint.h
│ ├── b2RopeJoint.cpp
│ ├── b2RopeJoint.h
│ ├── b2WeldJoint.cpp
│ ├── b2WeldJoint.h
│ ├── b2WheelJoint.cpp
│ └── b2WheelJoint.h

我觉得 “对于一名普通c2d游戏程序员来说”,会用box2d就可以啦。
当然你感兴趣的话 也可以研究呀

没什么意义,学编程最简单的就是,知道有什么东西,模块,有什么作用,如何使用其他基本是多余的,除非等你用到,而该功能确实满足不了你,你考虑修改,等你要知道成熟的模块也不断升级。就跟你去开个汽车公司一样,你知道知道引擎,轮子是干嘛用的,然后拿来组装,无必要自己去研究一个引擎出来,除非你汽车做的很大很不错,考虑研究一个超级引擎出来,那么可以考虑花时间去研究。