0

pygame を使用して 16 ビット時代のゲームを開発しようとしています。私は FlashDevelop と Flixel を使っていましたが、もっとしっかりしたものを試してみたかったのです。私が抱えている問題は、ゲームの外観にあります。画面内のすべてのピクセルを「大きく」したいです。つまり、320x240 サーフェスの各ピクセルについて、外観を得るには 640x480 サーフェスに 2x2 ピクセルの投影が必要です。フロガットのようなゲームの。あちこちで聞いてみると、Flixel の場合ほど簡単ではないことがわかりました。

案内してもらえますか?

アップデート

次のように、スケーリングされたサーフェスをメインサーフェスにブリットする方法を見つけました

screenSize = width, height = 640, 480
mainScreen = pygame.display.set_mode(screenSize)
smallScreen = pygame.Surface((320, 240))
pygame.transform.scale(smallScreen, screenSize, mainScreen)

誰かがこのことに関するベスト プラクティスの指針を教えてくれたら幸いです。

4

2 に答える 2

0

フレームごとにさまざまなグラフィックスをすべてビットマップに描画する場合 (Flixel のように)、ビットマップのスケールをデフォルトの 1 ではなく 2.0 に設定するだけです。

私が Flixel について理解していることから、メイン クラスには、画面に追加される子が 1 つだけ、ビットマップがあります。表示される各 flixel オブジェクトは、各フレームでそのビットマップに描画されます。Flixel のスケール変数は、そのビットマップのスケールです。

于 2012-03-07T18:31:48.860 に答える
0

pygame に関する具体的なアドバイスを求めているのか、320x240 --> 640x480 ピクセルにアップスケールする方法を求めているのかわかりません...

後者の場合、次のようになります。

MAME で使用されているように、ピクセル アートをアップスケールするためのアルゴリズムがいくつかあります。hq2x、hq3x、hq4x を検索します。または、http://en.wikipedia.org/wiki/Hqxまたはより一般的にはhttp://en.wikipedia.org/wiki/Pixel_art_scaling_algorithmsをご覧ください。

おそらく、あなたが必要としているものについては少し話題から外れていますが、http://research.microsoft.com/en-us/um/people/kopf/pixelart/index.htmlは、ピクセル スケーリングの非常に興味深い開発を示しています。

于 2011-08-21T23:36:25.323 に答える