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

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2005/09/13(火) 18:51:45ID:dnfPM2vI
オブジェクト指向スクリプト言語のpythonでゲーム作ろうぜ!!
0002適当なリンク2005/09/13(火) 18:57:59ID:dnfPM2vI
python本家
http://www.python.org/

日本Pythonユーザ会
http://www.python.jp/Zope/

pygame
http://www.pygame.org/news.html
http://www.unixuser.org/~euske/doc/pygame/

py2exe
http://starship.python.net/crew/theller/py2exe/
http://www.cubelab.com/ymasuda/python/py2exe/py2exe.html
0003名前は開発中のものです。2005/09/13(火) 20:34:54ID:fMdEDZOx
>>1
ひろまさ乙

ところでおまいらゲームループどうやって組んでる?
0004名前は開発中のものです。2005/09/13(火) 22:10:12ID:owD0RWfb
10 'ループ カイシ

………

120 GOTO 10
000512005/09/14(水) 01:57:39ID:cdiXMa5E

ひろまさって誰だyo

>ゲームループどうやって組んでる?
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/923.txt
おれは↑みないなクラスで作っといて

class Main(EventHandler):
  def __init__(self):
    EventHandler.__init__(self)
    self.event_map[] = self.onKeyDown #イベント登録
  def onKeyDown(self, event):
000612005/09/14(水) 02:02:37ID:cdiXMa5E
途中で投稿してもたorz

class Main(EventHandler):
  def __init__(self):
    EventHandler.__init__(self)
    self.event_map[KEYDOWN] = self.onKeyDown #イベント登録

  def onKeyDown(self, event): #キーが押されたときの処理
    #ほげほげ

  def update(self): #1フレームに一回呼ばれる処理
    #はげはげ

main = Main()
main.eventloop()

みたいな感じなんだがどうなんだろ
0007名前は開発中のものです。2005/09/16(金) 11:52:07ID:1NMiiyJt
Windowsでやってみようとしたけど、いきなりhello, worldで躓きました。
メモ帳でprint "Hello, world"と書いて、test.pyで保存。
pythonのあるディレクトリにpathを通して、
コマンドプロンプトからpython test.pyとやったら、
File "<stdin>", line 1
python test.py
^
Syntax Error: invaild syntax
だってさ。何なんでしょ?

あと、test.pyをダブルクリックすると、pythonインタプリタが起動して
Hello,worldと表示した後、すぐに閉じるけど、Cのsystem("pause")みたいなのは
無いんでしょうか?
000872005/09/16(金) 12:13:13ID:1NMiiyJt
勘違いしてた。
コマンドプロンプトからは実行できた。
でも、python.exe上から実行できない。
000912005/09/16(金) 17:49:55ID:H3uMLhSS
>Cのsystem("pause")みたいなの
raw_input()
もしくは
import os
os.system("pause")
かな

>python.exe上から実行できない。
たとえばpython.exeからhoge.pyを実行したい場合は
import hoge
2回目以降は
reload(hoge)
でできまつ
0010名前は開発中のものです。2005/09/16(金) 19:25:07ID:H3uMLhSS
ひろまさage
001172005/09/16(金) 19:29:53ID:1NMiiyJt
>ひろまささん

うまくできました。
ありがとうございます。
0012junyo2005/09/29(木) 21:37:39ID:RFlRriyy
http://www.unixuser.org/~euske/doc/pygame/ChimpLineByLine-j.html
0013名前は開発中のものです。2005/09/30(金) 13:57:49ID:yN1cD0GL
>>12
そこはむしろ「Python によるゲームプログラミング実況中継」の方が面白い.
0014みふね2005/10/10(月) 23:27:50ID:njKGUm6F
即効止まったな。
001512005/10/11(火) 00:43:16ID:J9Zd4/HP
ほんまやで
0016名前は開発中のものです。2005/10/12(水) 14:20:08ID:tVHnYJsj
ひろまさッて誰?
001712005/10/13(木) 23:43:51ID:3BoN3RNH
だれでしょね。
0018みふね2005/10/14(金) 01:25:53ID:UO52LoQ1
panda3Dなかなか面白い
0019名前は開発中のものです。2005/10/14(金) 20:29:22ID:cLFolF0+
panda3DやSoya3DもPython使うからスレ違いじゃないよね。
002012005/10/14(金) 22:59:26ID:W/akn9JL
そらもちろん。
0021192005/10/15(土) 22:02:58ID:pHFCT3cP
>>20
御言葉に甘えさせて頂きます
Panda3D
http://panda3d.org/
Soya 3D
http://home.gna.org/oomadness/en/soya/index.html
0022みふね2005/10/15(土) 22:12:16ID:qyT2Gq4p
じゃあ次のスレタイトルどうしようか・
0023名前は開発中のものです。2005/10/16(日) 16:20:00ID:OMDnGlY3
800超えるくらいになってから心配しようぜ
0024名前は開発中のものです。2005/10/18(火) 16:29:09ID:AlP/inMS
3Dエンジンだとこんなのも、あるみたいですね。
PyOgre
http://www.ogre3d.org/wiki/index.php/PyOgre

あと、Pythonのyield文を使ったジェネレータは、
メッセージループの中でスレッドっぽく使えて、
ゲームプログラミングで非常に便利かと。
0025龍 洲挫駈2005/10/18(火) 21:47:34ID:LASjC1nx
やッほ〜龍です。はじめまして
0026名前は開発中のものです。2005/10/19(水) 19:53:22ID:IBKMHJw0
さすが海外ではメジャーなPythonだね。pygame、Panda3D 、Soya 3D、PyOgre探せばまだ出て来そうだな。
0027名前は開発中のものです。2005/10/20(木) 02:00:36ID:tLgQMYtu
海外の主要なフリー3DエンジンのPythonバインディングはほぼ揃ってると思っていいよ。

Crystal space
http://crystalspace3d.org/docs/online/manual-cvs/cs_4.19.4.php

Vemom - Irrlicht for Python
ttp://www.stenhard.net/news.php

Panda3Dも良さげだが、漏れは今Soya 3Dで遊び始めてる。
Pure Python(Pyrexも混ざってるけど)でエンジンを記述する心意気が気に入ったw

扱いやすさという意味では、かなり扱いやすい部類だと思う。
tutorial案外充実してるしね。
低レベルのテキストコンポーネントsoya.widgetでは日本語も表示できるのは確認。
Portalとかセルシェーディングとか、さりげに面白い機能持ってるのよね。
0028名前は開発中のものです。2005/10/20(木) 09:24:26ID:7I8COn0N
pandaってのは黒人と白人の共存を意味してんのかね?
0029名前は開発中のものです。2005/10/20(木) 19:42:37ID:nYD0tPzm
色々有り過ぎて迷うな。それぞれの特徴、機能、使いやすさ、情報量などをまとめた物が欲しいよ
0030名前は開発中のものです。2005/10/21(金) 01:51:54ID:4tIHayfF
長文になるがまとめてみた。

PandaやSoyaみたいなほぼPython専用じゃないのは、
エンジンの比較についてはこっち見るとよかろう、
(Ogre、CrystalSpace、Irrlichtあたりね)

各種ライブラリ紹介スレ
ttp://pc8.2ch.net/test/read.cgi/gamedev/1008220559/

SoyaとPandaについては、どっちも日本語情報は皆無だな。
ただし、どっちも本サイトのチュートリアルは充実してるので、
英語さえ無問題ならかなり使いやすい。

機能的にはPandaの方が上っぽいが、
PandaはPythonのライブラリというわけじゃなく、
「3D拡張された専用Python2.2インタプリタ」という感じなので、
2.3以降の言語機能が使えなかったり、
Panda以外のライブラリと組み合わせにくいのが欠点か。
あと、Mac非対応なのも欠点かな。

モデルフォーマットは独自形式だけど、
obj、3ds、X形式等主要なフォーマットからのコンバータ同梱なので、
案外困らない。

Soyaは普通のPythonライブラリなので、他のライブラリと組み合わせるなら、
こっちの方が扱いやすいかな。
総合的な機能ではPandaに劣るけど、先にあったように
Pandaも持ってないような面白い機能(Portal)がある。
アニメーションモデルがCal3dというオープン系フォーマットオンリーなので、
Cal3dが吐けるモデラ(Max、Maya、Blender、MilkShape)が必要なのが欠点かな。
0031名前は開発中のものです。2005/10/21(金) 22:11:34ID:2EMdU/0l
>>30
ありがとう
どちらも甲乙付け難いですね。僕は機能の多いPandaを使ってみます。
0032名前は開発中のものです。2005/10/25(火) 22:44:58ID:2SGrfhA+
#頭をほぐす計算ゲーム?
import random
p=0
for i in range(20):
a=int(random.uniform(1,9))
b=int(random.uniform(1,9))
print("%d + %d =") % (a,b)
c=input()
if c == (a+b):
p=p+1
print("%d/20")%p
#スレ汚しごめん
0033名前は開発中のものです。2005/10/28(金) 16:36:58ID:Lb86+MEk
インデンテーションして、
import random
p=0
for i in range(20):
a=int(random.uniform(1,9))
b=int(random.uniform(1,9))
print("%d + %d =") % (a,b)
c=input()
if c == (a+b):
p=p+1
print("%d/20")%p
0034名前は開発中のものです。2005/10/28(金) 16:37:53ID:Lb86+MEk
うはw
import random
p=0
for i in range(20):
    a=int(random.uniform(1,9))
    b=int(random.uniform(1,9))
    print("%d + %d =") % (a,b)
    c=input()
    if c == (a+b):
        p=p+1
print("%d/20")%p

こうですか?
pythonの勉強になった。ありがとう
0035322005/10/28(金) 20:21:22ID:HRqq2yly
何でインデントが消えてるんだ?
0036名前は開発中のものです。2005/11/06(日) 03:27:09ID:sHwzpif8
ツーちゃんねるの仕様。
最近OpenGLとかいじり始めたんだが、ファンクションネームをグーグルで検索するとPythonの
ラッパーのドキュメンテーションの方が先に引っかかるな。
0037名前は開発中のものです。2005/11/18(金) 21:16:14ID:CBoBucBT
Pythonのお勉強スレのまとめwiki
http://www7a.biglobe.ne.jp/~yasozumi/python/wiki/
0038名前は開発中のものです。2005/11/23(水) 15:09:36ID:V4fk9WSv
Panda3DがPython2.4対応になってるね
ところで日本語表示って出来る?
0039名前は開発中のものです。2005/11/28(月) 01:47:36ID:jKBi5MY+
1.0.5の時にフォントに日本語指定して、utf8エンコードしてやれば出せるのは確認した。
1.1.0に変わってから確認してる暇がないorz
0040382005/12/04(日) 14:15:44ID:aANY23OP
フォント指定とエンコードをutf8にした上で
Config.prc に text-encoding utf8 を追加したらいけた
ttp://www.panda3d.org/wiki/index.php/Text_Rendering
0041名前は開発中のものです。2005/12/24(土) 16:01:35ID:WCqUgowe
保守
pygameサイトの看板がクリスマス使用になってる
0042名前は開発中のものです。2006/01/30(月) 19:56:25ID:GFqWWThf
話題無いかな?
0043名前は開発中のものです。2006/02/01(水) 01:24:31ID:ltZnHB8G
Blender 2.41 が出てるけど,Blender Game Engine とか Python API 試した人いる?
0044名前は開発中のものです。2006/02/03(金) 18:55:09ID:8vSwPaYO
興味は有るけど試した事無いな。
0045名前は開発中のものです。2006/02/24(金) 17:01:31ID:WTZlpTZE
@@@
0046名前は開発中のものです。2006/03/06(月) 11:27:28ID:bnOvK7Y0
eff
ttp://hp.vector.co.jp/authors/VA012411/

国産の3Dゲーム用モジュールだって
フレームワークとしても一線を超えてるんじゃない?
少し試したところボーンアニメのサンプルが
うまく動かなかったけど。
■ このスレッドは過去ログ倉庫に格納されています