2012-03-04 9 views
0

SFML 1.6を使用すると、簡単な解決策があることがわかりましたが、私は現在考えられていない/研究。C++ SFML 1.6 Sprite Position with Mouse

私は、TransformToGlobal(someVector)を使用してスプライトをグローバル位置に変換する必要があることを知っていますが、どこに配置するのかはわかりません。

私が使用しているコードの例は、グローバルな位置にないため動作しません。

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

私はsprite.TransformToGlobal(sprite.GetPosition())を追加しようとしました。その前に、それもうまくいきませんでした。

答えて

1

スプライトは、マウスが含まれている場合は、変換されたマウスの位置を使用して、チェックしてみてください:

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);