2012-03-22 56 views
1

我把我所有的表面渲染到一個緩衝區,然後在幀的結尾處翻轉緩衝區。我可以在偏移量處翻轉SDL緩衝區嗎?

但是,當某個事件發生在遊戲中時,我想動搖緩衝區來增加強度。我認爲我只是在幀的末尾偏移整個緩衝區,而不是讓每個表面在每個偏移處單獨移動,因爲我希望緩衝區的所有內容都能夠抖動。

有沒有辦法,我可以渲染緩衝區上的偏移量,還是我需要然後blit緩衝區到第二個緩衝區並翻轉?

回答

0

您可以製作一個函數,並將其放在渲染之前。
它應該得到一個隨機的方向(上,下,左或右),併爲在該幀上渲染的所有紋理添加相同的小變換(例如,所有紋理應該在該幀中稍微向下移動)。
在下一幀中,您將再次獲得一個隨機方向,避免選取最後一個方向。
該函數還應該有一個計時器(使用SDL_GetTicks()),因此您可以設置搖動持續的時間。
我不知道我是否清楚,但無論如何,祝你好運。 :)

相關問題