0

ということで、作っているゲームのスプライトシートをアニメーション化したのですが、なぜかゲームがかなり遅くなってしまいます。

スプライト シートは 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++でのプログラミングに関しては、私はまだ完全な初心者ですので、ご容赦ください。

そうは言っても、あらゆるアドバイスに感謝します。事前に感謝します!

4

1 に答える 1