ということで、作っているゲームのスプライトシートをアニメーション化したのですが、なぜかゲームがかなり遅くなってしまいます。
スプライト シートは 1248x120 の .png ファイルで、各スプライトのサイズは 156x120 ピクセルです。
アニメーション化に使用しているコード:
void Entity::AnimateHorizontal(sf::Texture tex, int width, int hight)
{
sprite.setTextureRect(sf::IntRect(source.x * width, 0, width, hight));
frameCounter += frameSpeed * frameTimer.restart().asSeconds();
if (frameCounter >= switchFrame)
{
frameCounter = 0;
source.x++;
if (source.x * width >= tex.getSize().x) source.x = 0;
}
}
と:
Object.AnimateHorizontal(tex_Mech1Feet,156,120);
私のゲームループで。
FPS はシートをロードするだけで、アニメーションはありません:クリックしてください!
シートをアニメーション化する FPS: Click me!
また、これが現在ゲームで実際に行っている唯一のことであるため、これほど遅れることは絶対にないはずです.
C++でのプログラミングに関しては、私はまだ完全な初心者ですので、ご容赦ください。
そうは言っても、あらゆるアドバイスに感謝します。事前に感謝します!