学了好久的图形学和opengl,终于走到了最后一步的实践环节。LearnOpenGL上的2D游戏实践章节,给出了一个逐步实现打砖块(Breakout)游戏的项目。我也是一步一步跟着来,从构建项目到改进算法,手敲了很多代码,也进行了很多测试,修复了一些bug,完善了一些功能。不过需要声明的是,测试仅由本人一人完成,也许在不起眼的地方会有bug,欢迎交流。代码发布在github:https://github.com/Jerry-sjw/BreakOut
一、先给出游戏展示
BreakOut
二、主要改进说明:
Ⅰ.碰撞算法做了两个改进,一个是对屏幕边缘的碰撞响应,原算法碰撞后沿反向速度返回位置,但对于比较卡的电脑(比如我的),碰撞检测不及时,球会在边界外面很多,一次返回不一定能出来,速度多次改变会出错,所以偶尔会出现球沿着屏幕边缘飞走了,我想的就是一次直接让球移动到边缘,代码如下:
glm::vec2 BallObject::move(GLfloat dt, GLuint window_width)

最低0.47元/天 解锁文章
1057

被折叠的 条评论
为什么被折叠?



