私はPyGameの2Dサイドスクローラーで作業しています。マップごとに1つのテクスチャを使用します(これはテクスチャの実際のサイズです)。
次に、次のコードを使用して画像を読み込みます。
sprite = pygame.image.load("Maps/MapTesting.png")
sprite.convert()
sprite = pygame.transform.scale(sprite,
(sprite.get_width()*6, sprite.get_height()*6))
ご覧のように、テクスチャは6回爆破されて実際のマップテクスチャが作成されます。平均して、このテクスチャは約4500x800です。画面全体が汚れているため(横スクロールのおかげで)、このテクスチャはフレームごとに画面にブリットする必要があります。これは次のコードを使用して行います。
screen.blit(sprite, (0, 0),
(cameraposx, cameraposy, windowheight, windowwidth))
そしてそれは機能します。問題は、それがかなり遅いということです。まともなPCでわずか40 FPSを取得します。60FPSを目指しているのに、実際のAI /オブジェクトが何も実行されていません。どうすればこれをスピードアップできますか?
上記のコードはサニタイズされ、コンテキストから除外されていることに注意してください。完全なコードはここにあります:https : //github.com/nightcracker/PyGG2
最後に重要なことですが、上の画像は8ビットのように見えるかもしれませんが、ゲームにはより多くのビット深度を必要とする要素があります。