2012-03-22 52 views
1

我把我所有的表面渲染到一个缓冲区,然后在帧的结尾处翻转缓冲区。我可以在偏移量处翻转SDL缓冲区吗?

但是,当某个事件发生在游戏中时,我想动摇缓冲区来增加强度。我认为我只是在帧的末尾偏移整个缓冲区,而不是让每个表面在每个偏移处单独移动,因为我希望缓冲区的所有内容都能够抖动。

有没有办法,我可以渲染缓冲区上的偏移量,还是我需要然后blit缓冲区到第二个缓冲区并翻转?

回答

0

您可以制作一个函数,并将其放在渲染之前。
它应该得到一个随机的方向(上,下,左或右),并为在该帧上渲染的所有纹理添加相同的小变换(例如,所有纹理应该在该帧中稍微向下移动)。
在下一帧中,您将再次获得一个随机方向,避免选取最后一个方向。
该函数还应该有一个计时器(使用SDL_GetTicks()),因此您可以设置摇动持续的时间。
我不知道我是否清楚,但无论如何,祝你好运。 :)

相关问题