トップページgamedev
579コメント197KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2005/09/13(火) 18:51:45ID:dnfPM2vI
オブジェクト指向スクリプト言語のpythonでゲーム作ろうぜ!!
0529名前は開発中のものです。2010/03/19(金) 03:20:35ID:Kym39Hy5
ttp://www16.atwiki.jp/tokoroten/pages/913.html pygameで作ってるらしい
0530名前は開発中のものです。2010/09/29(水) 20:14:33ID:pgoFPCin
俺用メモ
python-2.6.2
pygame-1.8.1

イベント一覧(QUIT ACTIVEEVENT KEYDOWN KEYUP,,,,などなどと羅列されてるところ)
ttp://www.pygame.org/docs/ref/event.html

マウスボタンのイベント
if event.type == MOUSEBUTTONDOWN and event.key == 1:
event.button == 1: #左クリック
event.button == 2: #センタークリック
event.button == 3: #右クリック
event.button == 4: #ホイール上方向
event.button == 5: #ホイール下方向
event.button == 6: #拡張ボタン左(戻る)
event.button == 7: #拡張ボタン右(進む)

キーボードのイベント
if event.type == KEYDOWN and event.button == K_z:
この場合Zキーを押したらイベント
ttp://www.pygame.org/docs/ref/key.html
↑のKeyASCIIにキー名が羅列

ジョイスティックのイベント
コントローラーの調子悪くて取れないww
JOYBUTTONDOWN joy, button
たぶんjoyがコントローラ番号でbuttonがボタン
pygame.event.get() JOYBUTTONDOWNでググったら日本語4ページあったお
0531名前は開発中のものです。2010/09/29(水) 20:21:43ID:pgoFPCin
if event.type == MOUSEBUTTONDOWN and event.button == 1:
if event.type == KEYDOWN and event.key == K_z:
だった
0532名前は開発中のものです。2010/10/10(日) 17:27:34ID:35xrM9lo
windows xp, python2.6.6, pygame1.9.1
なんぞこれ

>>> import pygame

Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
import pygame
File "C:\Python26\lib\site-packages\pygame\__init__.py", line 254, in <module>
try: import pygame.sndarray
File "C:\Python26\lib\site-packages\pygame\sndarray.py", line 66, in <module>
import pygame._numpysndarray as numpysnd
File "C:\Python26\lib\site-packages\pygame\_numpysndarray.py", line 38, in <module>
import numpy
File "C:\Python26\lib\site-packages\numpy\__init__.py", line 136, in <module>
import add_newdocs
File "C:\Python26\lib\site-packages\numpy\add_newdocs.py", line 9, in <module>
from numpy.lib import add_newdoc
File "C:\Python26\lib\site-packages\numpy\lib\__init__.py", line 4, in <module>
from type_check import *
File "C:\Python26\lib\site-packages\numpy\lib\type_check.py", line 8, in <module>
import numpy.core.numeric as _nx
File "C:\Python26\lib\site-packages\numpy\core\__init__.py", line 30, in <module>
__all__ += numeric.__all__
NameError: name 'numeric' is not defined
0533名前は開発中のものです。2010/10/10(日) 17:29:24ID:gY5RJtbL
Numeric か numpy が要る
ttp://www.pygame.org/install.html
0534名前は開発中のものです。2010/10/10(日) 17:44:37ID:35xrM9lo
numpy-1.5.0-win32-superpack-python2.6.exeが入ってるはずなんだが...インスコ順とか関係あったりする?
0535名前は開発中のものです。2010/10/10(日) 18:09:36ID:gY5RJtbL
よく見たら Python 2.6.4、pygame 1.9.1 がどっちもなくても動いてるわ
0536名前は開発中のものです。2010/10/10(日) 18:32:59ID:35xrM9lo
ちょ、2.6.6じゃ使えないのかよ
0537名前は開発中のものです。2010/11/28(日) 23:49:03ID:Nm50+vkZ
pygameで別窓開いておいて
別窓でボタン押したらメインのウィンドウに何か反応が起きるようにしたいんだけど
pygameってメインの画面1個しか開けないんだよね?
pygameの途中に
import wx
app = wx.App()
frame = wx.Frame(None, -1, 'simple.py')
frame.Show(True)
app.MainLoop()
wx.pythonで別窓開いておいたら
別窓を閉じないとメインのウィンドウの操作が出来なかった・・・
これってどうすればいい??
0538名前は開発中のものです。2010/11/29(月) 12:51:44ID:R9aKcglD
>>537
参考になるかわからんが

"Re: [pygame] Multiple Windows"
http://archives.seul.org/pygame/users/Jun-2007/msg00292.html
0539名前は開発中のものです。2010/11/29(月) 14:21:23ID:f057NZ8l
ありがとう、とりあえず翻訳ソフトに突っ込んでみた。
やってみるよ。

"Re: [pygame] Multiple Windows"
http://archives.seul.org/pygame/users/Jun-2007/msg00292.html
>誰かが複数のウインドウを製作する方法を私に教えることができるならば、
>それは大きいだろう。
>私は同時に走っているtwo+パイソンインタプリタを必要とする。
>そして、正しい?どのように、私はそうするか?

私はいろいろな可能性をそこで理解するためにsubprocessモジュールを通して見る−
パイプ(stdinとstdoutのように)を使用しているsubprocessに通信することは
プロセスを同期に保つ最も単純な方法であるかもしれない。

私は、2つの窓をここで開けることの小さい例を書いた:
http://www.bigdicegames.com/Code/Samples/TwoWindows.zip
そして、これはsubprocessドキュメンテーションである:
http://docs.python.org/lib/module-subprocess.html




05405372010/11/30(火) 01:02:19ID:UqVD3CWU
いまさらだけど、pygameにはいわゆるウィジット用のコマンドはなくて
ラジオボタンとか普通のボタンとかウィンドウの中でウィンドウが
開いているのとかは基本自力でコツコツ画像を用意したりして
画像をクリックするとボタンを押したのと同じみたいなことをしなきゃいけないんだよね?
05415382010/11/30(火) 19:40:59ID:l41YAfPV
>>540
そうだと思う。

これは経験則だけどウィジェット用のライブラリが標準で完備されてるこの手フレームワークは少ない。
自分は依存度とパフォーマンスの関係でPyGameじゃなくてPygletを選んだけど、
Pygletもウィジェットは無いよ。ただしTextLabel的なものはある。

で、これも経験則だけどこの手のフレームワークは大抵オレ俺ウィジェットライブラリを
好みで作る連中が必ず居る。pygame widget UI とかでググるとそれっぽいのがいろいろ見つかると思う。

自分も例に漏れずUIライブラリを作るのが好きなんだけど、
いつも文字とフォントの扱いが面倒でそこで開発が止まるw
0542名前は開発中のものです。2010/11/30(火) 21:15:07ID:S3sA26lb
>>541
ありがとう、公式のGUIのタグ押したら
いっぱい良さそうなのが出てきたけど
simple game guiとかPystaとか超カッコいいけど
英語さっぱりだから使い方さっぱりわからんけど。
まあ、なんとか自作してみるよOTL
0543名前は開発中のものです。2011/04/12(火) 20:47:19.39ID:TktYD3Qf
他スレでオススメされたので来ました
とりあえずお手本になるようなソースってありますか?
0544名前は開発中のものです。2011/04/30(土) 23:31:54.21ID:OMZkbRqQ
見てる人いるかー?
0545名前は開発中のものです。2011/05/10(火) 02:16:27.30ID:G4SiX7TU
居るよー
0546名前は開発中のものです。2011/06/01(水) 11:13:57.54ID:ypg4d5wn
「iswebライト」は2010年10月31日をもってサービス提供を終了いたしました。
長年ご愛顧いただきありがとうございました。
0547名前は開発中のものです。2011/06/01(水) 12:52:11.83ID:Np+DbK4n
楽天のisweb焚書
0548名前は開発中のものです。2011/06/10(金) 18:56:12.83ID:RFCXD7eb
PyGameでWindows用のスクリーンセーバを作るチュートリアルを誰か書いてくだちい
0549名前は開発中のものです。2011/07/18(月) 13:45:42.08ID:Ldpq3l7B
>>63
thx! areaに気付かなかった。
blitはdestのrect見て切り抜いてくれると思ってたもんだから
サーフェスがまるごと貼り付けられる症状に悩んでたんです。
ありがとうございました。
0550名前は開発中のものです。2011/07/22(金) 07:49:44.72ID:C9WjELDw
Pythonゲームプログラミング入門って新刊買った人レビューお願いします。
0551名前は開発中のものです。2011/07/31(日) 19:26:22.84ID:8IG8AILJ
Pythonゲームプログラミング入門のサンプルコードを
ブログに載せるのってやっぱり著作権的にまずいのかな?
0552名前は開発中のものです。2011/07/31(日) 22:17:00.76ID:OnepaG8f
質問するときに引用してOKと書いてある本もあるけど基本的にだめでしょ
例え著者のサイトに全ソース公開されていたとしても転載になる
だいたい他人の載せて何する気なんだ?
0553名前は開発中のものです。2011/08/31(水) 11:52:45.24ID:U6tmC7Hx
0554名前は開発中のものです。2011/10/06(木) 14:00:44.50ID:fIdG2WnW
>>537
class WxTh(threading.Thread):
def __init__(self,theApp):
self.App=theApp
threading.Thread.__init__(self)
self.setDaemon(True)
def run(self):
self.App.MainLoop()
class xrcMyFrame1(wx.Frame):
def __init__(self, parent):
:
self.Bind(wx.EVT_CLOSE, self.kill)
:
def kill(self,e):
sys.exit()
self.Destroy()
def main():
pygame.init()
:
mywxapp = wx.App(False)
mywxframe = xrcMyFrame1(None)
mywxframe.Show()
mywxTh=WxTh(mywxapp)
mywxTh.start()

while True:
:
for event in pygame.event.get():
     if event.type == QUIT:
sys.exit()
 :
みたいな感じでどうでしょうか?僕はそうしてます。(MacOS10.4, python2.65, pygame 1.9.1, wxpython2.8.11.0)
0555名前は開発中のものです。2011/10/06(木) 14:02:18.86ID:fIdG2WnW
インデント消えちゃった(´・ω・`)
0556名前は開発中のものです。2011/10/08(土) 12:19:35.03ID:bUVuqz/I
2chのシステムってPythonのソースに厳しいよね… (´・ω・`)
0557名前は開発中のものです。2011/10/16(日) 08:36:11.37ID:BRyjkT8p
PygameよりPygletの方がパフォーマンスが良くて簡単なんですか?
今から勉強するならPygletの方がいいですか?
0558名前は開発中のものです。2011/10/16(日) 16:11:13.28ID:iCAZ7ZmM
>>557
使う人の能力に依存する。
どっちがいいか判断するのも、使う人の能力。
0559名前は開発中のものです。2011/10/16(日) 17:36:08.76ID:BRyjkT8p
>>558
色々な人の判断を参考にしたいから聞いてるんですが?

Pythonゲームプログラミング入門をぱらぱら見た感じだとPygletの方がイベントの扱いが
簡単そうな感じがする・・。良さげな本だったんで買っちゃいましたけどね。
でも、Pygameより後発のPygletの方が色んな点で優れてるのかなぁーってイメージあるし、
その辺とかを使用してる方から色々聞きたいわけですよっ。

能力次第とか両方使えばいいじゃんとか、そんなの聞いてるんじゃなくて、
その人の使用感とか思い入れとかこだわりとか愛とかを聞いてるんですよっ。
0560名前は開発中のものです。2011/10/17(月) 00:01:50.45ID:4U9gzFOd
Pythonはまず本読んでどうのこうのってより
触って感覚で覚えろって人の方が多そうな気がする。なんとなく。
0561名前は開発中のものです。2011/10/17(月) 20:50:29.49ID:HaDvqq2i
Pythonゲームプログラミング入門読んでるけど、誤字が多すぎる!!
買う前から正誤表は確認してて、すごく沢山修正箇所があることは確認していた。
で、買ってから正誤の修正を本に書き込んでたんだけど、正誤表のページ番号が間違ってるところが多くあって修正に苦労した。

修正してからやっと読んでるわけだけど、他にも間違いがあるわあるわで、、、
今のところ日本語の間違いだけなんだけど、プログラミング内容とかが間違ってたら相当苦労しそうだなと不安になるのであった。。つづく
0562名前は開発中のものです。2011/10/18(火) 17:17:25.87ID:DA+UnwOr
正誤表にも多々みられるけど、文の前後が入れ替わってる間違いが多い。
これって翻訳ソフト使ってたってことだよね?
だいたい文の前後が入れ替わってたら意味おかしくなるじゃん。
なんで気づかないの?

巻末の訳者の紹介みたら二人とも宗教ネタ書いてて気持ち悪い。
この本ダメだわ。
0563名前は開発中のものです。2011/10/19(水) 08:21:21.92ID:H9MjV9Rg
Pyglet勉強することにしたわぁ〜。Webに良いページあるし。
ttp://www.aida.t.u-tokyo.ac.jp/~saeki/pyglet/doc.ja/index.html
とりあえずHello Worldは済ませたw
Python2.6でやってるけど、Python3.x版は出るのかな??

ところでこのスレて過疎ってんの??
0564名前は開発中のものです。2011/10/19(水) 16:09:30.96ID:FIBsmZfV
>>563
過疎ってるようです。
Python自体が過疎なのかな?悲しい...(´・ω・`)

けっこう良い言語だと思うんだけどなぁ....。
私はポケコンでBASICとマシン語を勉強し、X68kでC言語を学んだ。
でもC++もobjective-CもJAVAも挫折した無能者だ。
そんな私でもアプリを作れるのはREALbasicとPythonだけだ!!

Pythonがもっとはやることを願って止まない.....。(´ω`)
0565名前は開発中のものです。2011/10/19(水) 19:27:32.76ID:H9MjV9Rg
Pythonスレは過疎って無いでしょ。

Pygletやっぱいいよー。Pygameよりいいよー。
イベントの扱いがステキ。無限ループ書かなくてデコレータ書くだけなのがクール。
ライセンスも扱えるポリゴン数もPygletの方が優れてる。
英語サイトでもPygletの方薦められてたしぃ〜。
なんで日本ではPygameの方が有名なんだろうね?

Python版のcoocs2dも気になる。使ってる人いる?
0566名前は開発中のものです。2011/10/27(木) 20:26:41.15ID:/n54GXVV
なんだこれ、Pygletって初めて知ったわ

なんでお前ら今まで教えてくれなかったん?
延々とPygame 2を待ち続けちゃったじゃん
時間無駄にしたわ
0567名前は開発中のものです。2011/10/29(土) 13:44:26.44ID:WaL3onJB
Pygletですが、IDLEに書いて実行するとエラーになるから、
ファイルに書いて実行しなきゃだよ。
0568名前は開発中のものです。2011/10/29(土) 13:48:40.77ID:2PVAGpNx
PygletってPython3.2で動く?

できればもう2系には戻りたくない
0569名前は開発中のものです。2011/10/29(土) 14:26:04.12ID:WaL3onJB
Pygletのインストーラー実行すると、説明がでるんだけど、
pyglet requires either:
Python 2.4 with ctypes installed
Python 2.5 or Python 2.6

って出るからPython3x系は無理っぽいですね。
しばらくしたら3x系にも対応するんじゃないでしょうか。


話変わるけど、PygletがPygameより優れていることを説明してるページ
ttp://www.kanshin.com/keyword/2471729

あと、Python版のcocos2dってのがあるけど、これもPython3x系には対応してない。
まぁcocos2dはPyglet使ってるからPygletが対応しないと対応できなよね。
ttp://cocos2d.org/index.html
0570名前は開発中のものです。2011/10/29(土) 20:08:40.51ID:2PVAGpNx
3系で使えないと厳しいな
やはり今の所Pygameしか選択肢が無い

Pygletって前のリリースもう1年も前みたいだけど
1.2っていつごろ出そう?
0571名前は開発中のものです。2011/10/30(日) 00:47:38.99ID:RB00g9oE
わっかんないけどテスト中みたいです
ttp://groups.google.com/group/pyglet-users/browse_thread/thread/c93f238cc4a76741

Pygame頑張ってください^^
0572名前は開発中のものです。2011/11/19(土) 21:40:34.77ID:tF0s/eU4
Python勉強中の者です。
最終的に、2DのRPGやシミュレーションを作りたいのですが、pygameとpygletどっちがいいですか?
自分はpygameの存在しか知らなかったので、pygletがどのようなものかわかりません。
基本的な質問かも知れませんが、よろしくお願いいたします。
0573名前は開発中のものです。2011/11/19(土) 22:58:32.32ID:iMhAJYyN
>>572
上のレス見ればPygletの方が優れてるね。
Python版のcocos2dもいいんじゃないかな。

cocos2d:
バッグエンドにPygletを利用してるフレームワーク。
日本語情報が無いのが難点だけど、動画チュートリアルがあるからそれで学習できそう。
http://cocos2d.org/

Pyglet:
Pygameより後発でシンプル設計。
ライセンスも扱えるポリゴン数もPygameより優れてる。
学習はこちらで、
http://www.aida.t.u-tokyo.ac.jp/~saeki/pyglet/doc.ja/index.html

Pygame:
日本語情報が多い。
日本語書籍もあるがAmazon評価みるとお薦めできない。

よりPythonicなcocos2dかPygletがいいでしょう。

Pygameはないわぁ〜。
Pygameのプログラム見てみるとゴッチャゴチャだよ。
PygameでOpenGL使うともっとゴチャゴチャになる。
0574名前は開発中のものです。2011/11/19(土) 23:10:37.86ID:tF0s/eU4
>>573
情報ありがとうございます
webページ見てみましたが、日本語で一通りチュートリアルがあるみたいなので、こっちを試して見ます
0575名前は開発中のものです。2011/12/03(土) 16:57:53.14ID:5HwZbF1I
pygletもっと流行ってほしいな(日本語情報充実的な意味で)
ひと通り覚えたけど英語できないから辛かった
0576名前は開発中のものです。2011/12/05(月) 16:38:56.48ID:rn/8mMZm
>>575
勉強素材は何ですか? 本?Web?
英語でもいいからお薦めの情報源教えてください。
リンク貼ってください。
0577名前は開発中のものです。2011/12/11(日) 00:26:29.70ID:PH+32eXS
>>576
遅れてすいません
WEBだけです。>>573で出てるガイドと、
pyglet公式のリファレンスと
WEB上のサンプルなど
http://www.akeric.com/blog/?p=1527
http://www.pyweek.org/13/entries/ (pyglet以外もあります)

自分もまだ勉強中ですが参考になれば・・・
0578名前は開発中のものです。2011/12/11(日) 10:38:11.41ID:1JDe05rf
>>577
横からだがありがとう
欲しかった3Dのサンプルがあってよかった
しかし訳して解読するだけで日がくれそう
0579名前は開発中のものです。2011/12/11(日) 13:22:48.32ID:VXrkWwvt
>>577
情報ありがとうです。
やっぱ英語はハードル高いですね。チラッと見たけど、お腹一杯;;
■ このスレッドは過去ログ倉庫に格納されています