Pythonでグラフィックやるには?
最近、仕事でPythonばかり使う羽目になっていて、ふと、
「Pythonで、ゲーム作ってる人いるのかな?」
と思ったので調べてみた。(ちなみに、"Python"? "python"? どっちだろう? HP見るとロゴが小文字で記述は大文字???)
まず、Pythonに、デフォで入っているグラフィックライブラリは、TkinterというGUIライブラリになる。
TkinterはPythonのTcl/Tkインターフェースにあたるものなので、あくまでGUIライブラリであり、ウインドウに対する基本的な描画機能しか持っていない。
とりあえず、WebにあったSampleを見ながら使ってみる。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from tkinter import * class Application(object): def run(self): self.__tk.mainloop() if __name__ == "__main__": |
って、ココログって、ソースコードがうまく入らないのね。preタグ使うと無茶苦茶になるし・・・。
Gitのマークアップでも、これより数段はマシなんですが・・・。
流石は、Niftyクオリティ。相変わらず地を這ってます。
あっ、インデントするために、空白は全角になってます。ソースを、そのままコピペするとえらーになるので注意して下さい。
さて、PythonのGameライブラリですが、
■ PyGame
■ PySDL2
■ PyOpenGL
あたりがあるらしい。
元々は、PyGameがデファクトみたいだったが、更新が止まっているようで、その後継がPySDL2なのだそう。
で、こいつらは、インストールしてやる必要があるのだが、dnfで探してみると、PyGameとPyOpenGLはPython3版があるらしので、とりあえずインストールした。
# dnf install python3-pygame
# dnf install python3-pyopengl*
でこちらも、WebにあったPyOpenGLのSampleを見ながら使ってみる。こちらも、インデントするために空白が全角になってますのでコピペは注意です。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys class Application(object): glClearColor(0.0, 0.0, 0.0, 0.0) def draw(self): # 四角形の頂点座標 glFlush() def run(self): if __name__ == "__main__": |
なんとなく、OpenGLは使えそうな感じです。
注意点としては、Python3用なんで、
$ python hoge.py
では動かないことでしょうか。
$ python3 hoge.py
で動かして下さい。
| 固定リンク
この記事へのコメントは終了しました。
コメント