2012-03-31 87 views
0

我正在用Android的OpenGL ES創建2D遊戲。我想執行搖動效果。OpenGL ES Shake效果

我的想法是改變我的相機的y座標,但我不確定算法。我有一個位置矢量與x和y變量爲我的相機類。

回答

2

看起來像Opengl Real world Camera Shake algorithm的副本。基本上模擬Sin波後的晃動,並根據您希望相機晃動多少來調製振幅。

像下面一個很基本的輪廓,你需要停止這種幅度時命中除其他事項外0 ..

private float amplitude = 10.0f; 
private float adjustAmplitudePerSecond = -1.0f; 
private float timeElapsed = 0.0f; 

public void shake(float deltaTime) { 
    timeElapsed += deltaTime; 
    amplitude += adjustAmplitudePerSecond * deltaTime; 
    yourCamera.y += + Math.sin(timeElapsed); 
}