首先你得了解2D图形引擎用来做什么。
如果不知道,说明你对2D图形引擎还没怎么用过,建议的方式是先去使用现成的2D图形引擎。c++方便知名的、成熟的是cocos2dx。
如果已经知道,那么可能说明你只是不知道怎么下手,也许是对图形渲染原理不懂、或者对操作这样可能比较大的项目比较难入手,那么
1、对图形原理不懂
你需要拿起一本OpenGL(建议)的书,了解现代渲染的原理。知道能够在屏幕上绘制精灵,对于2D引擎,到这一步已经暂时够了。就可以回到原来的学习其他引擎的路子上,考虑是你怎么来完成那些引擎的功能。如果有发现不大想的清楚的事情,再去看OpenGL的书。当然,这个时候再网络上查找一些资料也是不错的方式。
OpenGL主要是让你注重解决学习渲染。到这一步完成只是引擎的一个部分。
2、学着从使用引擎的角度出发,想想如果你要给用户用你的引擎,你应该做哪些API出来。怎么样封装你的代码,做到好用,易用。在这个目的下,一步一步的做出一个渲染引擎。
在做这个的时候,鼠标、键盘处理等(暂时我们不考虑手机那些触摸屏),物理包等东西应该有方式带进来。遇到问题的时候,尝试读一下cocos2dx的源码,这个时候读就比较有感觉了。
然后是忘掉,继续做自己的引擎。再读、再忘掉(风清扬?)。
觉得做的差不多了,要尝试使用自己的引擎,看看是不是很方便。不方便的地方再改。
3、反复以上步骤,直到你感觉你做了个不错的东西,发github邀请人用吧。