空のsurfaceを作る

※この方法ではMP3が再生されない場合がありましたので没とします。対応策は「空のsurfaceを作る(続き)」(2011-12-09)に書きます。

一昨日の記事の改良版です。David Clark著、Yusuke Shinyamaさん訳の初心者のための pygame ガイドを拝読していたら

3. surface (サーフェイス) とは何かを理解しよう。
(中略)
Surface() を使えば、まったく何もない surface さえつくれるんだよ。

とあったので、何も無いsurfaceを作成すればCUIでもPygameが利用できるだろうと思い、コードを改良してみました。

import pygame

pygame.init()

pygame.Surface # ここで空のsurfaceを作成しています。

pygame.mixer.music.load('flymetothemoon.mp3')
pygame.mixer.music.play(-1)

for i in range(360): # CUIのコードです。
    print 'playing', i, 'sec.'
    pygame.time.delay(1000)

特に問題なくPygameにてMP3が再生されつつ、CUIのコードを実行することができました。これで「Pygameの機能を使いたいけど、いちいちグラフィカルなsurfaceオブジェクトを作るのはちょっと……」という場合でも、気軽に実装できますね。