2016-08-15 1 views
-1

私はSFMLでスプライトシートを持っています。私は自分自身でアニメーションスプライトを作成しようとしています。私の考えは、キーボードのキーが押されるたびにIntRectで行われる境界を変更することですが、IntRect変数をすべて変更せずに定義を変更する方法がわかりません。あなたが私が初心者だと言うことができるので、わかりやすい答えに感謝します。IntRectを定義したら、どうすれば変更できますか?

私がしたいことの明確化は、sf::IntRect characterRect(0,0,192,192)から(0,192,192,192)に変更されています。

+0

'characterRect = sf :: IntRect(0,192,192,192);';本を手に入れる。 – LogicStuff

+0

@LogicStuffクラップス、私はちょうどこれが愚かな質問だったことに気付きました。 –

答えて

3

SFMLのグラフィックスライブラリを使用している場合は、sf::Spriteのサブクラスを作成しているはずです。 sf::Spriteによって使用される四角形を変更するのは簡単である:

mySpriteInstance.setTextureRect(sf::IntRect(0, 192, 192, 192)); 

sf::Rect<T>(およびそのエイリアス、例えばsf::IntRect)があることに注意してください - 故意 - を作成する非常に安価。既に持っているもののプロパティを変更するのではなく、ただ破棄して新しいものを作成するだけです。それが明白に必要な場合は、同じ長方形を変更/維持するだけで構いません。

sf :: Spriteクラスのチュートリアルはhereです。

関連する問題