C++ C++;SFML 1.6带鼠标的精灵位置

C++ C++;SFML 1.6带鼠标的精灵位置,c++,button,input,mouse,sfml,C++,Button,Input,Mouse,Sfml,在使用SFML1.6时,我遇到了一个小问题,我知道有一个简单的解决方案,但我目前想不出来/无法通过研究找到答案 我知道我必须使用TransformToGlobal(someVector)将精灵转换为全局位置,但我不知道将其放置在何处 下面是我正在使用的代码的一个示例,它不起作用,因为它不在全局位置 if(sprite.GetSubRect().Contains(mouseX, mouseY)) sprite.SetImage(someImage); else sprite.Set

在使用SFML1.6时,我遇到了一个小问题,我知道有一个简单的解决方案,但我目前想不出来/无法通过研究找到答案

我知道我必须使用TransformToGlobal(someVector)将精灵转换为全局位置,但我不知道将其放置在何处

下面是我正在使用的代码的一个示例,它不起作用,因为它不在全局位置

if(sprite.GetSubRect().Contains(mouseX, mouseY))
    sprite.SetImage(someImage);
else
    sprite.SetImage(someOtherImage);

我尝试添加sprite.TransformToGlobal(sprite.GetPosition());您可以尝试使用转换后的鼠标位置,然后检查精灵是否包含鼠标:

sf::Vector2f mousePos = App.ConvertCoords(App.GetInput().GetMouseX(), App.GetInput().GetMouseY());

if(sprite.GetSubRect().Contains(mousePos.x, mousePos.y))
    sprite.SetImage(someImage);
else
    sprite.SetImage(someOtherImage);