2016-10-12 35 views
-5

我在使用C++ w/sfml進行平滑運動時遇到了問題。 有人可以製作一個算法來平滑移動一個形狀/精靈15像素(精靈/形狀是15像素)通過按下按鈕?謝謝。如何在C++中使用平滑運動,SFML

+0

有什麼你試圖創造這樣一種算法了? –

+0

我不知道如何做一個SMOOTH運動,我知道「固定」運動(identifier.move(x,y))。 – BlackOHAWK

+0

有沒有「平滑」或「固定」的運動,只是使用較小的值 – Treycos

回答

1

因爲很多其他的程序員可能想知道,在這兒,但下一次問一個更確切的問題
這裏是的方式,使運動平穩:

把你的初始運動,可以說25, 15每秒
作出這樣一個循環:

void GameEngine::GameLoop() 
{ 
    sf::Clock timer; 
    sf::Time tickRate; 

    sf::Vector2f movement(25.0,15.0); // Your movement vector 

    while(/* wahtever */){ 
     tickRate = timer.restart(); 
     yourShape.move(movement * ((float)tickRate.asMilliseconds()/1000)); //Move your shape depending on the time elapsed between two frame 

     yourWindow.clear(); 
     yourWindow.draw(yourShape); 
     yourWindow.display(); 
    } 
} 
+0

這樣做時出錯:**運動** *(浮動)tickRate.asMilliseconds()**/** 1000 – BlackOHAWK

+0

它運作良好..我不明白你的問題 – Treycos