【pygame】pythonでゲーム製作【ぱいがめ】
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2005/09/13(火) 18:51:45ID:dnfPM2vI0124名前は開発中のものです。
2007/03/04(日) 20:48:52ID:Hp2ej3gx盛り上がってください。
0125名前は開発中のものです。
2007/03/04(日) 21:02:42ID:7BU+7w8M0126名前は開発中のものです。
2007/03/15(木) 20:35:04ID:VzhOi8YW0127名前は開発中のものです。
2007/03/15(木) 22:38:28ID:DN9A8QQy0128名前は開発中のものです。
2007/05/28(月) 22:50:31ID:cUjhTbdG2ヵ月半もレスなしかよ
あげてやる
0129名前は開発中のものです。
2007/07/08(日) 22:55:56ID:LGL1+hIp0130130 ◆yz7jXryE3Y
2007/07/09(月) 02:25:15ID:T/H7/srsで、その前に一つ聞きたいが・・・・
3Dもできる?やれまくり?
0131名前は開発中のものです。
2007/07/09(月) 15:05:50ID:4145Gpwx0132名前は開発中のものです。
2007/07/10(火) 00:19:47ID:J3qwh99Mのってどうにか出来ないんでしょうか?(WinXP環境です)
pygame.time.set_timer() で1秒毎にUSEREVENTを発生させて
定期的にある処理を実行してるんですが、ドラッグ中は
処理が停止して、ドラッグをやめるとqueueに溜まっていた
USEREVENTが連続して(1秒より短い時間間隔で)発生して
しまいます。
他のウィンドウも参照したいので、フルスクリーンモードには
できないんです。
pygame使って計測器制御のプログラム書いてるワシがアホなのは
わかってるんだけどね・・・
0133名前は開発中のものです。
2007/07/10(火) 02:42:26ID:GT5M43dp0134名前は開発中のものです。
2007/07/10(火) 10:29:29ID:7P6KtgSfpanda3d
pyogre
pyrr
eff
こんなあたりだね。
0135名前は開発中のものです。
2007/07/10(火) 21:16:40ID:JzW9ZGk30136名前は開発中のものです。
2007/07/16(月) 21:21:53ID:Sry4qekc0137名前は開発中のものです。
2007/07/17(火) 03:34:36ID:Wnuyebyb0138名前は開発中のものです。
2007/08/17(金) 23:54:10ID:JOvi8ZbRSDL使ってるから圧倒的にはやいのでしょうか。
0139名前は開発中のものです。
2007/08/19(日) 15:45:53ID:TvS+i5tLttp://gamdev.org/up/img/9994.zip
pyrpg.pywをダブルクリックでウィンドウモード
pyrpg_fs.pywをダブルクリックでフルスクリーンモード
(注)pygameがインストールしてないと動きません
0140名前は開発中のものです。
2007/08/19(日) 18:28:13ID:evwUkO+i0141名前は開発中のものです。
2007/09/04(火) 21:41:30ID:un31dHLLCPU使用率が高いのが気になるな>pygame
0142名前は開発中のものです。
2007/09/07(金) 22:30:06ID:gKHwzqGIpython使いが少ないうえにゲーム用途に使おうとする人はさらに少ないってことか・・・
0143名前は開発中のものです。
2007/09/07(金) 23:35:55ID:9unpFwpj動かしてみたよ。まだ、ゲームじゃないよね?(笑)
0144名前は開発中のものです。
2007/09/08(土) 00:58:58ID:th+ATEDJRPGなら余裕?
pygameサイトのやつしょぼいのばっかりで心配になる
0145名前は開発中のものです。
2007/09/08(土) 10:14:27ID:J3IJjVg+pygameはSDLのラッパーだから、SDLで出来ることは大体できる。
でも、やっぱりゲーム作りには向いてない気がする。ツール作るのには便利なんだけどね。
python用のDirectXラッパーであるDirectPyってのもあるけど、
そこまでやるなら、Cで作ったほうがいい気がするし。
0146名前は開発中のものです。
2007/09/08(土) 14:09:24ID:HesMt5Xw0147名前は開発中のものです。
2007/09/08(土) 14:17:07ID:J3IJjVg+0148名前は開発中のものです。
2007/09/09(日) 00:54:46ID:xNf1ldLyということは描画はSDLだからC++並に速いってこと?
python得意だからゲームもpythonで作ってみたいな
pythonはライブラリの使い方が簡単だからMMORPGとかも簡単に作れそう
0149名前は開発中のものです。
2007/09/28(金) 22:39:50ID:Ob6KJFpeパフォーマンスのチューニングがちょっとやりにくいな。
0150名前は開発中のものです。
2007/10/17(水) 00:09:43ID:OCIP4FYt0151名前は開発中のものです。
2007/10/22(月) 23:52:56ID:7BPuJyllhttp://www.amazon.co.jp/gp/product/1590598725/ref=olp_product_details/249-8465485-0666702?ie=UTF8&coliid=I3P6I0D74SPITX&me=&seller=&colid=UBANCT5N42D0
おらは買うけど、ほかに買う人いるべか?
0152名前は開発中のものです。
2007/10/23(火) 00:31:55ID:/J6eUCiC0153名前は開発中のものです。
2007/10/23(火) 01:45:03ID:xOKYgKDw0154名前は開発中のものです。
2007/10/23(火) 05:26:42ID:1h1nM133信じる信じないは任せるが
0155名前は開発中のものです。
2007/10/23(火) 23:17:16ID:thpmEwEh0156名前は開発中のものです。
2007/10/27(土) 19:56:57ID:C6za86W0日本で誰も使ってなさそうなのは何故だぜ?
昔PygameでRPGを作りかけた事があるけど、
贅沢言わなければ機能・速度ともに特に問題なかったよ。
0157名前は開発中のものです。
2007/10/27(土) 20:30:46ID:TgmJAiy1HSPの連中がpygame使ってくれれば賑いそうなんだがな…
0158名前は開発中のものです。
2007/10/27(土) 21:05:33ID:fHHFtOgb俺はOcempGUI使ってRPG作りかけたけど、
新verがチョト変わってて動かなくなってなえてやめたわ。
あと守備力にdefが使えないのもなえた。
0159156
2007/10/27(土) 22:30:06ID:C6za86W0大分昔だけど、自分もHSP使ってた。
用途は似てるけど、やっぱユーザ層が違うのかね。
>>158
GUIっていうか、ドラクエ方式のメニューを自作したよ。
こんな感じ
http://www.uploda.org/uporg1084890.png
0160名前は開発中のものです。
2007/10/27(土) 22:49:14ID:RqzRYBOGうわ、懐かしい画面だ。
よもやこんな所で貴方を見かけようとは。
0161名前は開発中のものです。
2007/10/27(土) 22:50:16ID:Lu8jH/c0サイト閉じちゃって悲しいよ。
それのソースを公開する予定はないの?
0162156
2007/10/28(日) 00:58:24ID:nicSSlZ6ソースは参考になりそうもないので公開しない予定。
0163名前は開発中のものです。
2007/10/28(日) 08:39:52ID:miJTQ8Zw買ったよ
だけど文章ばっかりで絵が少なく内容も薄い気がする・・・
Pygame入門
http://www.halb-katze.jp/pygt/index.html
見れば済んでしまうような
0164名前は開発中のものです。
2007/10/28(日) 08:42:40ID:miJTQ8Zwマップのオブジェクトにmap使って混乱したのに萎えた
0165名前は開発中のものです。
2007/10/31(水) 13:39:24ID:tqVDSqasPythonに興味があったので、いいサイトありがとう。
0166名前は開発中のものです。
2007/10/31(水) 16:16:10ID:OMWDh2qp良く使いそうな単語を予約語にしないでほしいな
0167名前は開発中のものです。
2007/11/03(土) 11:46:02ID:khsKiO67kwsk
0168名前は開発中のものです。
2007/11/03(土) 11:48:11ID:blK8RKE20169名前は開発中のものです。
2007/11/03(土) 12:43:27ID:/k8ek+lo逆に考えるんだ、むしろそのサイトの内容が良いと
感謝しようぜ
0170名前は開発中のものです。
2007/11/03(土) 17:17:40ID:khsKiO67ハァ?そんなこと聞いてねえよ。
defが予約語なら、defense とか書くだろ普通。
なんで、わざわざ予約語にして、文句付けてんのかって聞いてんだよ
0171名前は開発中のものです。
2007/11/03(土) 21:15:07ID:i484Px69HSPのほうがよくないか。
0172名前は開発中のものです。
2007/11/03(土) 22:46:32ID:/k8ek+loまだ日本語情報ほとんど無いけど使ってる人いるのかな
0173名前は開発中のものです。
2007/11/04(日) 03:07:24ID:Nk7caYwV/::::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゙、  ̄ ./ , |::! と :
/ ヘ ヾ ヽ、 _,. ' / |:'
0174名前は開発中のものです。
2007/11/04(日) 08:35:27ID:C1AdJU4lpygameが好きっていうよりpythonが好き
HSPだとゲーム以外に使えないし
0175名前は開発中のものです。
2007/11/04(日) 10:27:10ID:xeXvwCNT用途は似てるけど2つは別物
どっちが良いとか悪いとか単純比較できないから、黙って自分が好きな方使え
0176名前は開発中のものです。
2007/11/04(日) 12:45:20ID:O+GqOBVM0177名前は開発中のものです。
2007/11/04(日) 20:54:11ID:6zeAVrc7最初からそう書いとかなきゃ、ちょっと前のレスも
確かめてない人と誤解されても仕方ないと思うぞ
0178名前は開発中のものです。
2007/11/11(日) 09:21:43ID:5Rj1AhKI実際のゲームはまったく作ってないけど基礎は学べていいな。
0179名前は開発中のものです。
2007/11/11(日) 10:57:18ID:ow8AhzDt0180名前は開発中のものです。
2007/11/20(火) 09:00:10ID:TKRhB5b40181名前は開発中のものです。
2007/11/22(木) 21:57:35ID:tr1HPVJMどうやら、俺はカルシウムが足りてないみたいだ。
過疎スレで切れて、スマソ
0182名前は開発中のものです。
2007/12/18(火) 22:37:26ID:aC5ESUdU0183名前は開発中のものです。
2007/12/19(水) 12:44:51ID:Ic3h0HRMアルファ加算がしたいんだが
0184名前は開発中のものです。
2007/12/21(金) 09:45:09ID:ffTAdbs5wxPythonとの組み合わせもいまいちわからないし。
0185名前は開発中のものです。
2007/12/21(金) 11:45:11ID:2rhZhtDSあきらめるかファミコン方式。
0186名前は開発中のものです。
2007/12/21(金) 20:53:36ID:ffTAdbs50187名前は開発中のものです。
2007/12/22(土) 00:44:54ID:PTWXEh3u0188名前は開発中のものです。
2007/12/22(土) 01:27:11ID:rOfQfRlSそれはそれですごいことやってる気が
0189名前は開発中のものです。
2007/12/22(土) 03:47:59ID:bPxucWgd0190名前は開発中のものです。
2007/12/22(土) 12:20:45ID:T+bZNcOfJavascriptでの例です。ソース読んでもわけわかめ。
0191名前は開発中のものです。
2007/12/22(土) 13:42:18ID:Nn9XeIcI0192名前は開発中のものです。
2007/12/22(土) 13:43:38ID:xy+Aueuwアルファベット→ひらがなは自前で実装しているけど
漢字変換は裏で辞書となるCGIを呼んで変換候補を返しているね。
むしろCGIの中身の方が気になる。
0193名前は開発中のものです。
2007/12/22(土) 18:05:27ID:8G6zhpPH0194名前は開発中のものです。
2007/12/24(月) 02:03:58ID:WDReFZ3W0195名前は開発中のものです。
2007/12/24(月) 10:05:40ID:Eo++qG7r加算合成ないと致命的なの?
0196名前は開発中のものです。
2007/12/24(月) 11:36:16ID:/r3LuhLf俺は加算合成は要らんけどPer-pixelαとSurfaceのαを掛けてblitできないのが困る。
これができないと半透明入ってる物のフェードとか大変なんだけど何かいい方法ない?
0197名前は開発中のものです。
2008/01/03(木) 16:01:45ID:HRbkqIyERectの「どの面と」衝突したのか判定したいんだが探してもそれっぽいのが見つからない。
自前でやるしかないのかな。誰か教えてプリーズ
0198名前は開発中のものです。
2008/01/04(金) 03:09:22ID:igwJsxoEわしはゲーム作らんからIndexは知らんけど
surfarrayはAlphaはなんにでも
使えるはずぢゃよ。サンプルできたんぢゃが
改行多過ぎとか言われて書きこめんわ。
Numericってかなり速いからAlphaには
使ったほうが良いと思う。他に手もないし
0199名前は開発中のものです。
2008/01/04(金) 03:18:06ID:w8J4J/ac例えば半透明な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
0200198
2008/01/04(金) 18:14:17ID:igwJsxoE3行目で[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使えるまでかなりドキュメント
漁ったわ
0201名前は開発中のものです。
2008/01/05(土) 10:18:46ID:KgL4iUeG前作ったことあるけど自前でやるしかないと思う。
Rectのプロパティ使えばけっこう楽だよ。
0202名前は開発中のものです。
2008/01/05(土) 15:30:14ID:8d/3Ln930203名前は開発中のものです。
2008/01/05(土) 15:52:20ID:yDKglqYh何をもってこの面と衝突した、とするかを考えてみると
あまり汎用性のない処理だと気がつくと思うよ…
# ってかブロック崩し限定処理のような…
0204名前は開発中のものです。
2008/01/05(土) 21:00:22ID:8d/3Ln93そうか。初めてのゲームプログラミングなんで考えが行き届かなかった
ところでpygameで作られたゲームってどんなのがある?
ググっても(国内では)ほとんど見つからないんだけど
0205名前は開発中のものです。
2008/01/06(日) 07:12:02ID:5s/L0T81いや、それでいけます。感謝。
floatを掛けるとarrayの型がComplexになっちゃうから
astype()でbyteに戻してやらないといけないのね。
最初はストレートに uialpha /= 2 とかやろうとしてて、
「何でできねーんだ!」と散々苦労したのもbからiに変わるからか。
というかNumericのチュートリアルをググって読めば書いてあるねorz
0206名前は開発中のものです。
2008/01/06(日) 09:05:25ID:tTdFGs0Xpygameのサイトにいろいろサンプルあるけどブレイクしたのないよーな。
0207198
2008/01/06(日) 18:48:37ID:AFHVph+uよかったわ
んで、わしの疑問をきいてください。
pygameでファイルをウィンドウに
ドロップしたいのですがpygame単体で
出来ますか。wxpythonウィンドウに
SDLウィンドウを埋め込むのはだめみたい
なので少々諦め気味です。
どなたか御存知なら御教示ください。
0208名前は開発中のものです。
2008/01/06(日) 21:43:02ID:bewf10VSwxpythonのフレームに wx.FileDropTarget つけてやるというのはどうか。
0209名前は開発中のものです。
2008/01/06(日) 21:50:29ID:bewf10VSいまちょっと調べてみたんだけど、「windows環境でwxpythonウィンドウにSDLウィンドウを
埋め込む」のは、各ライブラリのバージョンの組み合わせによって出来る出来ないがある
みたいね。
http://wiki.wxpython.org/IntegratingPyGame
でもできないことはなさそうなので、がんばれ。
0210207(198)
2008/01/06(日) 23:52:27ID:AFHVph+u>>208,209
私のは
python2.5, pygame1.7, wxpython2.8
ですが、209さんが示していただいたページの
最後のスクリプトでウィンドウに埋め込めないんです。
ちょっと見ていただきたいんですが、そのスクリプト
ちゃんと動くんですかねぇ?os.environ()で設定した
環境変数を自プロセスで参照できる?他プロセスで
なら埋め込めるのは確認してるんですが。
当然イベントはダメです。
0211208
2008/01/08(火) 01:45:06ID:3fTMIMrlwiki に載ってるコードはwindowsだとだめなのかな。
os.environ['SDL_WINDOWID'] で環境変数いじってもpygame側に反映されないっぽい。
ctypes で putenv したらうまくいきました。
---- begin ----
$ diff -up wxpygametest.py.orig wxpygametest.py
--- wxpygametest.py.orig 2008-01-08 01:39:43.607875000 +0900
+++ wxpygametest.py 2008-01-08 01:40:18.717250000 +0900
@@ -2,6 +2,7 @@ import wx
import os
import thread
global pygame # when we import it, let's keep its proper name!
+import ctypes
class SDLThread:
def __init__(self,screen):
@@ -37,8 +38,8 @@ class SDLPanel(wx.Panel):
global pygame
wx.Panel.__init__(self, parent, ID, size=tplSize)
self.Fit()
- os.environ['SDL_WINDOWID'] = str(self.GetHandle())
- os.environ['SDL_VIDEODRIVER'] = 'windib'
+ ctypes.cdll.msvcrt._putenv("SDL_VIDEODRIVER=windib")
+ ctypes.cdll.msvcrt._putenv("SDL_WINDOWID=%d" % (self.GetHandle()))
import pygame # this has to happen after setting the environment variables.
pygame.display.init()
window = pygame.display.set_mode(tplSize)
---- end ----
0212208
2008/01/08(火) 01:50:59ID:3fTMIMrlSDLをほかのToolkitのフレームに埋め込む話はニーズがあるけどややこしいみたい。
pygame+wxpythonで探している最中に似たようなのをいくつか見つけたのではっておきます。
参考: pygame+wxpython
http://www.myevan.net/tag/pygame?TSSESSION=700d249a18ed5cc62adc46495d8e04b0
Ruby/SDL の場合::
http://www.kmc.gr.jp/~ohai/rubysdl_doc_old.html#label-17
SDLをqt or kde or gnome のwidgetに組み込む方法::
http://pc11.2ch.net/test/read.cgi/linux/1025048946/194
0213210(207,198)
2008/01/08(火) 18:13:24ID:xFhirsiF御教示の通りmsvcrtのputenv()でいけました。
Cのputenv()ってpythonのと動きが違うん
でしたね。忘れてました。
他のサンプルをパクッて今回のスクリプトに
wx.FileDropTargetを使ったらとりあえず
ファイル名を取出せました。御協力の方々へ感謝!
改めてpythonの奥深さを知ったわ
0214210
2008/01/21(月) 18:47:43ID:FFn/l8vZ加算合成できないってあったんでsurfarrayで
やってみたらあら簡単!
…ん〜、でも ちぃっと遅い。Numericは自分を
参照する式にするとぐっと速度が落ちるわ。
ALPHA操作はDLLにすると少しだけ速くなった。
ぢゃっど
alp&=Numeric.array(0,'B')
とかの定数だけの式ならDLLとほとんど
変わらん。
def g_add(f,b,r):
fa=pygame.surfarray.pixels3d(f)
ba=pygame.surfarray.pixels3d(b)
for i in xrange(3):
fa[:,:,i]+=-fa[:,:,i]+N.minimum(fa[:,:,i].astype(N.Int)*r+ba[:,:,i].astype(N.Int), 255).astype('b')
del fa,ba
0215名前は開発中のものです。
2008/02/04(月) 18:10:03ID:eCczljdsただプロンプトを出すだけでCPUの使用率が100%になってしまう。。。
試したのはPyGame入門の「初めの一歩」のスクリプト。
一歩目だけにさっぱり分かりません。(スクリプトに書いた動作自体は異常なし)
情報探してるんですが、ご存知ないでしょうか。
Win版のPython2.5とPyGame1.7です。
0216名前は開発中のものです。
2008/02/04(月) 19:23:04ID:ngGmVtzwpygameはGUIを作るものだぜ。
何か間違えてない?
0217215
2008/02/04(月) 21:58:16ID:eCczljdsただ黒い画面を出してただけだったので勝手にプロンプトの仲間入りさせてしまったorz
その後調べていましたが、パソがあまりにも非力なだけのような気がしてきました。
少々の画像表示やアニメーションを追加して重くて無理ってほどでもなかったので
なかば仕様と考えて、しばらく様子みてみようと思いますm(_ _)m
0218名前は開発中のものです。
2008/02/04(月) 22:07:43ID:X7sGRS8W0219名前は開発中のものです。
2008/02/05(火) 14:08:07ID:TsvYrUR3「5. 絵を動かしてみよう」 内で説明されている clock.tick 使えば解消される。
0220215
2008/02/05(火) 22:19:46ID:6P4nVpLq60fpsだと100%のままでしたが、40以下に下げたところ大丈夫でした。
やっぱりパソの非力が現因・・・orz
あまり独自なfpsなのも変でしょうから、wait処理の方もなお、チェックしてみます!
ありがとうございました!
0221名前は開発中のものです。
2008/02/06(水) 00:00:05ID:f5NDcWrv0222名前は開発中のものです。
2008/02/26(火) 20:56:23ID:SG51Wexipygameでできることってeffでも同じような手間でできるの?
0223名前は開発中のものです。
2008/03/01(土) 11:17:33ID:YaKmsxrJ誰かpythonでも出せば〜
■ このスレッドは過去ログ倉庫に格納されています