2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

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

1 :名前は開発中のものです。:2005/09/13(火) 18:51:45 ID:dnfPM2vI.net
オブジェクト指向スクリプト言語のpythonでゲーム作ろうぜ!!


211 :208:2008/01/08(火) 01:45:06 ID:3fTMIMrl.net
>>210
wiki に載ってるコードは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 ----


212 :208:2008/01/08(火) 01:50:59 ID:3fTMIMrl.net
>>210
SDLをほかの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

213 :210(207,198):2008/01/08(火) 18:13:24 ID:xFhirsiF.net
色々調べていただいて有難うございます。
御教示の通りmsvcrtのputenv()でいけました。
Cのputenv()ってpythonのと動きが違うん
でしたね。忘れてました。
他のサンプルをパクッて今回のスクリプトに
wx.FileDropTargetを使ったらとりあえず
ファイル名を取出せました。御協力の方々へ感謝!
改めてpythonの奥深さを知ったわ


214 :210:2008/01/21(月) 18:47:43 ID:FFn/l8vZ.net
以前助けてもらったんでネタ提供。以前
加算合成できないってあったんで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

215 :名前は開発中のものです。:2008/02/04(月) 18:10:03 ID:eCczljds.net
PyGameインストールして試してるんですが
ただプロンプトを出すだけでCPUの使用率が100%になってしまう。。。
試したのはPyGame入門の「初めの一歩」のスクリプト。
一歩目だけにさっぱり分かりません。(スクリプトに書いた動作自体は異常なし)
情報探してるんですが、ご存知ないでしょうか。
Win版のPython2.5とPyGame1.7です。

216 :名前は開発中のものです。:2008/02/04(月) 19:23:04 ID:ngGmVtzw.net
プロンプト?
pygameはGUIを作るものだぜ。
何か間違えてない?

217 :215:2008/02/04(月) 21:58:16 ID:eCczljds.net
わ、しまった。プロンプトじゃなかったですね。
ただ黒い画面を出してただけだったので勝手にプロンプトの仲間入りさせてしまったorz

その後調べていましたが、パソがあまりにも非力なだけのような気がしてきました。
少々の画像表示やアニメーションを追加して重くて無理ってほどでもなかったので
なかば仕様と考えて、しばらく様子みてみようと思いますm(_ _)m

218 :名前は開発中のものです。:2008/02/04(月) 22:07:43 ID:X7sGRS8W.net
ループ内でpygame.time.wait

219 :名前は開発中のものです。:2008/02/05(火) 14:08:07 ID:TsvYrUR3.net
「初めの一歩」のスクリプトは CPU 100% になっても問題なし。
「5. 絵を動かしてみよう」 内で説明されている clock.tick 使えば解消される。

220 :215:2008/02/05(火) 22:19:46 ID:6P4nVpLq.net
>>218 >>219
60fpsだと100%のままでしたが、40以下に下げたところ大丈夫でした。
やっぱりパソの非力が現因・・・orz
あまり独自なfpsなのも変でしょうから、wait処理の方もなお、チェックしてみます!
ありがとうございました!

総レス数 1002
229 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★