0
我試圖製作一個射手遊戲,並試圖編碼敵人 面對玩家,我試圖用三角函數找到必要的旋轉,但代碼沒有工作,並且敵人不正常地轉動。這是代碼:SFML 2.1如何讓一個精靈面對另一個精靈
void face(sf::Sprite& target, sf::Sprite& subject){
int adjacent = subject.getPosition().x - target.getPosition().x;
int opposite = target.getPosition().y - subject.getPosition().y;
if (opposite == 0){
opposite++;
}
if (adjacent == 0){
adjacent++;
}
//if (adjacent < 0){
//adjacent += 180;
//}
float result=atan(/*opposite/adjacent*/adjacent/opposite)*180/PI;
subject.setRotation(result);
}
任何意見將不勝感激!
'adjacent'和'opposite'應該是浮動的,因爲'sf :: Sprite'的位置是浮動的。 – DarkPhantom