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