2006年06月13日

Pythonでゲームを作る - Pygame

 Pygameとは、PythonからSDLというマルチメディアライブラリへのアクセスを可能にするラッパーです。これを使うと、簡単に画像やサウンド等をPythonでのプログラミングに使えるようになります。
SDLとPythonは多くのプラットホーム(OS) に移植され対応しているので、pygameを使って書くとマルチプラットホーム対応のゲームが作れます。

Pythonを使えば、面倒なメモリ開放など気にしなくてもいいので楽です。

参考リンク
 ・Pygame
 ・Pygame チュートリアル
 ・PygameではじめるPython入門ツアー


#encoding: shift_jis
import sys
import pygame, pygame.font
import pygame.cursors
from pygame.locals import *


def main():
#initialize
pygame.init()
resolution = 800, 200
screen = pygame.display.set_mode(resolution)
pygame.mouse.set_cursor(*pygame.cursors.diamond)

fg = 250, 240, 230
bg = 5, 5, 5
wincolor = 40, 40, 90

# フォントの場所は各自調整してね。
if sys.platform == 'win32':
msgothic = r'c:\windows\fonts\msgothic.ttc'

else:
msgothic = '/usr/X11R6/lib/X11/fonts/TrueType/msgothic.ttc'

#fill background
screen.fill(wincolor)

#load font, prepare values
font = pygame.font.Font(msgothic, 60)
text = u'漢字フォント'

size = font.size(text)

#no AA, no transparancy, normal
ren = font.render(text, 0, fg, bg)
screen.blit(ren, (10, 10))

#no AA, transparancy, underline
font.set_underline(1)
ren = font.render(text, 0, fg)
screen.blit(ren, (10, 40 + size[1]))
font.set_underline(0)

#AA, no transparancy, bold
font.set_bold(1)
ren = font.render(text, 1, fg, bg)
screen.blit(ren, (30 + size[0], 10))
font.set_bold(0)

#AA, transparancy, italic
font.set_italic(1)
ren = font.render(text, 1, fg)
screen.blit(ren, (30 + size[0], 40 + size[1]))
font.set_italic(0)

#show the surface and await user quit

pygame.display.flip()
while 1:
#use event.wait to keep from polling 100% cpu
if pygame.event.wait().type in (QUIT, KEYDOWN, MOUSEBUTTONDOWN):
break

if __name__ == '__main__':
main()


このサンプルの実行結果


この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。