読者です 読者をやめる 読者になる 読者になる

ばぐばぐわーるど

Pythonなどなど

Pygameの後継らしいPySDL2をインストール

pygamepythonでゲーム製作【ぱいがめ】

653 :名前は開発中のものです。:2013/06/12(水) 19:51:48.77 id:CuKK7Cjf
まだ誰かこのスレ見てるか?

いつの間にか、Pygame 2 (pgreloaded) が開発終了になってたwww


だがしかし、安心してほしい
PyGame 2 の開発は終了したが、PySDL 2 となってリリースされている
現在0.4.0までリリースされているし、ドキュメントもそこそこ整備されているので
試してみるといいよ


654 :名前は開発中のものです。:2013/06/12(水) 19:52:52.72 id:CuKK7Cjf
あ、これ一応リンクね

https://bitbucket.org/marcusva/py-sdl2
http://pysdl2.readthedocs.org/en/latest/


655 :名前は開発中のものです。:2013/06/12(水) 22:49:02.22 ID:0T4g4Jmy
最初のHello Worldのソース見てなんかヤル気なくしたw
エレガントじゃないっていうか、なんというか


656 :名前は開発中のものです。:2013/06/12(水) 23:08:24.19 id:CuKK7Cjf
>>655
ゲームのフレームワークというよりは
SDLの薄いラッパーになったんだよ


シンプルで高速なライブラリを目指すことになったので
俺はこれで良いと思う


メーリングリストの「pgreloaded is dead」ってスレッド見ればわかるけど
PyGameは複雑になり過ぎて開発者の負担が大き過ぎたんだよ
Pygameに限らずPygletを見ても分かると思うけど、開発者が数人(実質一人)なので
負担が大きくて、全然リリースされずに更新が何年も止まってる


その点PySDL2は更新頻度も高いし、将来性は高いと思うよ
シンプルなのが一番だ

http://toro.2ch.net/test/read.cgi/gamedev/1126605105/l50

ということらしいので、PySDL2をインストールしてみます。
marcusva / py-sdl2 / Downloads — Bitbucket
から最新版をダウンロードして解凍。

python setup.py install

としてインストールします。

インストールの確認にexamplesフォルダにあるhelloworld.pyを実行してみます。

Traceback (most recent call last):
  File ".\helloworld.py", line 9, in <module>
    import sdl2.ext as sdl2ext
  File "C:\python33\lib\site-packages\sdl2\__init__.
    from .dll import get_dll_file, _bind
  File "C:\python33\lib\site-packages\sdl2\dll.py",
    raise ImportError(exc)
ImportError: could not find any library for SDL2

おろろ?


eclipse - RuntimeError for SDL2 after installing pySDL2 - Stack Overflow
なんか別途にsdl2のランタイムライブラリが必要な模様。

Simple DirectMedia Layer - SDL version 2.0.0 (stable)
↑から32bit Windows用のRuntime Binariesをダウンロードします。


解凍するとSDL2.dllがあります。これってどこに置けばいいんですかね・・・
とりあえずsite-pakages\sdl2にpysdl2フォルダを作ってその中に放り込んでおきます。

環境変数の編集からユーザー環境変数に新しく作ったPYSDL2_DLL_PATHに
C:\Python33\Lib\site-packages\sdl2\pysdl2
を追加します。


hello.pyを実行

 (略)

OSError: exception: access violation reading 0x03D60030

どうやらImportErrorは解消した模様。
ただ、一瞬で終了してしまう・・・

pong.pyを試してみると実行できました。やったー。


なんか他にもsdl2の関連ライブラリの追加が必要みたいです。
Installing PySDL2 — PySDL2 0.6.0 documentationのPySDL2 also ... SDL-related libraries以下のリンクのものをいろいろpysdl2フォルダに突っ込みます。どれが必要とかわからないので片っ端から放り込みました。

hello.pyは一応実行できました。なんかUserWarningとかでてるけどこれは普通なんですかね。まあちゃんと動いているものが多いので良しとしましょう。


それにしても上のスレ以外日本語の情報が全く無いです・・・