【pygame】pythonでゲーム製作【ぱいがめ】
■ このスレッドは過去ログ倉庫に格納されています
オブジェクト指向スクリプト言語のpythonでゲーム作ろうぜ!!
>>101
最初にそれ使おうと思ったんだけど、エラーが出て動かなかくて悩んだよ。
結局、py2exe単体でも問題なく必要なDLLがコピーされて実行できたんで拍子抜けした。 要するに、素直に考えるなら真っ先に試すべきpy2exeを最後にまわしたせいで
余計な時間を食ったわけだろ? >>104
そうそう。あと、py2exeの古いバージョン向けの情報が転がってたりして混乱した。
それはそうとPythonはスッキリコンパクトにまとまっていて良い言語だね。
Rubyの全てがオブジェクトな思想やSmalltalk風のブロック構文だとかに
馴染めなかったクチだけど、Pythonのスタイルはしっくりくるよ。 それはそうとPythonは古い情報ばっかり。
情報がスッキリコンパクトにまとまっていいなくて嫌な言語だね。 むしゃくしゃしてやった。今は後悔している。
それでもPythonが好きだ。 これ画像表示したり他の処理も使うのがすごい楽なのにゲーム作る人達に広まっていないのは残念だね。 やっぱりバイナリ配布の手順が面倒な上、処理がそこそこ重いからでは。
それと日本語が使いづらい。特にフォーム入力は、ほぼ無理。 >>112
日本語入力はTkinterのメッセージボックスにやらせとけばいいんじゃないの? >>114
pygameの領分じゃないでしょw
配布するときにtkとかwxとか入れると、pygame単体の時の倍の容量になるし。
SDLで日本語入力サポートしてくれないと無理なんだけどさ。 すいませんこれって、py2exeで変換するとき
画像とか音声をexeに埋め込むことは出来ますか? pygameを始めたんですが、スレッドが盛り上がってないとさみしいので
盛り上がってください。 パイガメって、グラフィック周りは何つかってるんですか こっこのやろう
2ヵ月半もレスなしかよ
あげてやる 暇があったら、なんか作ってみるわ。
で、その前に一つ聞きたいが・・・・
3Dもできる?やれまくり?
pygameのウィンドウをドラッグ中は、動作が停止しちゃう
のってどうにか出来ないんでしょうか?(WinXP環境です)
pygame.time.set_timer() で1秒毎にUSEREVENTを発生させて
定期的にある処理を実行してるんですが、ドラッグ中は
処理が停止して、ドラッグをやめるとqueueに溜まっていた
USEREVENTが連続して(1秒より短い時間間隔で)発生して
しまいます。
他のウィンドウも参照したいので、フルスクリーンモードには
できないんです。
pygame使って計測器制御のプログラム書いてるワシがアホなのは
わかってるんだけどね・・・ vista上でpygameの動作がおかしくなるのはまだ対応してないからか? pythonで3Dっつったら
panda3d
pyogre
pyrr
eff
こんなあたりだね。
ぱいがめとPythonのバージョンってともに最新でおk? pygameとjavaだとどっちが速いと思いますか?
SDL使ってるから圧倒的にはやいのでしょうか。 pygameでRPG書いてみたよ。スクリプト言語でフルスクリーンのゲームが書けるなんて感動。
ttp://gamdev.org/up/img/9994.zip
pyrpg.pywをダブルクリックでウィンドウモード
pyrpg_fs.pywをダブルクリックでフルスクリーンモード
(注)pygameがインストールしてないと動きません メモリはそれほどでもないけど
CPU使用率が高いのが気になるな>pygame 人いないな
python使いが少ないうえにゲーム用途に使おうとする人はさらに少ないってことか・・・ >>139
動かしてみたよ。まだ、ゲームじゃないよね?(笑)
pygameでどれくらいのゲームできる?
RPGなら余裕?
pygameサイトのやつしょぼいのばっかりで心配になる
>>144
pygameはSDLのラッパーだから、SDLで出来ることは大体できる。
でも、やっぱりゲーム作りには向いてない気がする。ツール作るのには便利なんだけどね。
python用のDirectXラッパーであるDirectPyってのもあるけど、
そこまでやるなら、Cで作ったほうがいい気がするし。 XNA使うと9割がC#になるから、Pythonあんまり意味ナスw >>145
ということは描画はSDLだからC++並に速いってこと?
python得意だからゲームもpythonで作ってみたいな
pythonはライブラリの使い方が簡単だからMMORPGとかも簡単に作れそう 書くのは楽だけど、
パフォーマンスのチューニングがちょっとやりにくいな。 Apress面白いんだけど和書になる可能性がかなり低い
信じる信じないは任せるが 2Dゲーム作るならPygameはベストな選択肢の一つだと思うんだが、
日本で誰も使ってなさそうなのは何故だぜ?
昔PygameでRPGを作りかけた事があるけど、
贅沢言わなければ機能・速度ともに特に問題なかったよ。 >>156
HSPの連中がpygame使ってくれれば賑いそうなんだがな… RPG作る場合GUIはどうすんの?自作なの?
俺はOcempGUI使ってRPG作りかけたけど、
新verがチョト変わってて動かなくなってなえてやめたわ。
あと守備力にdefが使えないのもなえた。 >>157
大分昔だけど、自分もHSP使ってた。
用途は似てるけど、やっぱユーザ層が違うのかね。
>>158
GUIっていうか、ドラクエ方式のメニューを自作したよ。
こんな感じ
http://www.uploda.org/uporg1084890.png >>159
うわ、懐かしい画面だ。
よもやこんな所で貴方を見かけようとは。 昔にPygameでRPG、そして昔にHSP使用で、絵を見て特定したw
サイト閉じちゃって悲しいよ。
それのソースを公開する予定はないの? 自分なんかが特定されると思わなかったw だがそれが嬉しい
ソースは参考になりそうもないので公開しない予定。
>>151
買ったよ
だけど文章ばっかりで絵が少なく内容も薄い気がする・・・
Pygame入門
http://www.halb-katze.jp/pygt/index.html
見れば済んでしまうような >>158
マップのオブジェクトにmap使って混乱したのに萎えた >>151じゃないけど、>>163Thanks!!
Pythonに興味があったので、いいサイトありがとう。 >>164
良く使いそうな単語を予約語にしないでほしいな >あと守備力にdefが使えないのもなえた。
kwsk >>163
逆に考えるんだ、むしろそのサイトの内容が良いと
感謝しようぜ >>168
ハァ?そんなこと聞いてねえよ。
defが予約語なら、defense とか書くだろ普通。
なんで、わざわざ予約語にして、文句付けてんのかって聞いてんだよ
そんなにpygame好きか。
HSPのほうがよくないか。 Python-Ogreって結構すごくない?
まだ日本語情報ほとんど無いけど使ってる人いるのかな >>171
/::::i::::、:::ヽ、:::\:ヽ:\::ヽ:、:ヽ:、:', 早 駄
/::i|::l::ト、ヽ::、:ヽ:、:::::\::ヽ::l:ヽ:i::i:::! く 目
/:/:!:::!:|::ヽ:\ヽ:::、:\::ヽ:ヽ!:::i::|:::!::! な だ
!ハ::|::::i::l:|心、:ヽ::\:ヽ_\、\:ヽ:|!:|:|i. ん
i、:!:|:、N{、ヒjヽゝ\ヾイ ヒj >、ヽi:、:|:l: と こ
ヽ:!::トヽ ̄ l! ` ` ̄´ |::l::|:|j:,!:! か い
ト、::! u j |::/lj:::!リ し つ
ヾ、 丶 - u リイ:|リ な ら
リヽ ‐、ー- 、_ /イ:::i い :
rー'"ト:l゙、  ̄ ./ , |::! と :
/ ヘ ヾ ヽ、 _,. ' / |:'
>>171
pygameが好きっていうよりpythonが好き
HSPだとゲーム以外に使えないし >>171
用途は似てるけど2つは別物
どっちが良いとか悪いとか単純比較できないから、黙って自分が好きな方使え ctypesつかって、HSPのライブラリを流用できないかなぁ。 >>170
最初からそう書いとかなきゃ、ちょっと前のレスも
確かめてない人と誤解されても仕方ないと思うぞ >>151の本
実際のゲームはまったく作ってないけど基礎は学べていいな。 おまえら pyglet について何か言うことありませんか。 EventHandlerクラスってどういうふうにかけばいいんですか? >>177
どうやら、俺はカルシウムが足りてないみたいだ。
過疎スレで切れて、スマソ pygame 1.8まだ?
アルファ加算がしたいんだが 日本語入力ってどうしてる?
wxPythonとの組み合わせもいまいちわからないし。 ローマ字入力からのかな漢字変換まで自前で実装するしかないか pythonでPOBoxでも実装したらいんじゃね? ttp://ajaxime.chasen.org/
Javascriptでの例です。ソース読んでもわけわかめ。 UIMとかのライブラリ方式のエンジンをラップして組み込むとか。 >>190
アルファベット→ひらがなは自前で実装しているけど
漢字変換は裏で辞書となるCGIを呼んで変換候補を返しているね。
むしろCGIの中身の方が気になる。 ここ2年ぐらいリリースが無いな。Subversionから取ってきてビルドするのマンドクサ いろいろお知らせはあるみたいだけどバージョンアップこないね
加算合成ないと致命的なの? surfacearrayとか使えば自前で書けない事もないだろうけど面倒くさいし遅そう。
俺は加算合成は要らんけどPer-pixelαとSurfaceのαを掛けてblitできないのが困る。
これができないと半透明入ってる物のフェードとか大変なんだけど何かいい方法ない? spriteの衝突判定って返り値がboolの物しかない?今ブロック崩しを作っていて、
Rectの「どの面と」衝突したのか判定したいんだが探してもそれっぽいのが見つからない。
自前でやるしかないのかな。誰か教えてプリーズ
>>196
わしはゲーム作らんからIndexは知らんけど
surfarrayはAlphaはなんにでも
使えるはずぢゃよ。サンプルできたんぢゃが
改行多過ぎとか言われて書きこめんわ。
Numericってかなり速いからAlphaには
使ったほうが良いと思う。他に手もないし >>198
例えば半透明なUIウィンドウを作りたいと思ってAlphaを半分にするには
今こんな感じでやってるんだけど、ツッコミどころがあったらよろしく。
uielements = load_image(filename).convert_alpha()
uialpha = pygame.surfarray.pixels_alpha(uielements)
myarray = Numeric.array([2], Numeric.UnsignedInt8)
uialpha /= myarray
del uialpha
del myarray
#この後で欲しい部分をスクリーンにblit
Numericの使い方がイマイチよくわかってないので3行目4行目に
到達するまでに凄い時間かかったよorz >>199
3行目で[2]にしてるけどスカラーでいける。
4行目にそのまま直書きしてもOK、なはず。
uialpha /= Numeric.array(2, 'b')
多分'b'はNumeric.UnsignedInt8と同じ。
で、ここまで出来てるなら
PixeledAlphaとSurfaceAlphaの合成って出来ない?
Unsigned拡張して演算できるよ。その場合は
Surfaceフォーマットに注意。詳しくは
//www.pygame.org/docs/tut/surfarray/SurfarrayIntro.html
もしPixeledAlphaのOpacity設定なら
def setPixA_alpha(pix, val):
cp=pix.copy()
pixA=pygame.surfarray.pixels_alpha(cp)
pixA-=(pixA*((255-val)/255.0)).astype('b')
del pixA
return cp
で動いてるけど違うのかのぅ
わしもsurfarray使えるまでかなりドキュメント
漁ったわ
■ このスレッドは過去ログ倉庫に格納されています