【Ruby/SDL他】Rubyでゲーム制作・総合スレッド
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2008/04/02(水) 02:11:27ID:cxIG00d1情報交換したり雑談したり質問したりするためのスレッドです。
ツクールXP(RGSS)についてはツクールスレ等でお願いします。
Ruby/SDL
http://www.kmc.gr.jp/~ohai/rubysdl.html
StarRuby
http://www.starruby.info/ja/
0166名前は開発中のものです。
2008/11/11(火) 07:03:14ID:J8rpg6TXぱっと見で分かること
・renderメソッドの後ろのendが一つ多い
・xメソッドの中にあるvxがローカル変数
0167>>161
2008/11/11(火) 17:29:14ID:A5AdEiUEendが1つ多いのはこの上にclassがあったから。
消し忘れスマン
ローカル変数をインスタンス変数に変えてみたけど結果は同じだった。
思ったんだけど、これがもしできたとしても
ボタン押してる間(この処理が行われるとき)ずっと1づつ足されるわけだから
一瞬で画面外に出るぐらいのスピードになるんじゃないかな?
って馬鹿なこと言ってるなと思わないでくれ・・・
0168名前は開発中のものです。
2008/11/11(火) 17:39:59ID:sZyTNaq5何回リピートしたらいくつ増やす、とかいくつ以上は増えない、とか離したら0に戻す、とかやるけど
動かしながら試すのがいいと思うよ。
0169名前は開発中のものです。
2008/11/11(火) 18:09:28ID:J8rpg6TXエラーに関する質問をするときに、そのエラーの詳細を書くのは基本だ
とりあえず、Bボタンを押してないときに
xメソッドがnilを返して落ちるだろうということは想像がつく
0170>>161
2008/11/11(火) 18:49:12ID:A5AdEiUE・前回も押してたかチェックする これどういうことですか
・何回リピートしたらいくつ増やす これは条件式(if)でおkだよね?
>>169
スマン。 エラーの詳細って言うのは
タイプ ArgumentError
メッセージ wrong number of arguments (1 or 0)
バックとレース 'x' 'act' って所か?初心者でスマン(汗
def act(input)
@x -= 8 if input.left
@x += 8 + x(input) if input.right
@x = 0 if @x < 0
@x = SCREEN_W-@image.w if @x >= SCREEN_W-@image.w
end
def render(screen)
screen.put(@image, @x, @y)
end
def x(input)
if input.b
if (@vx <= 4)
@vx += 2
elsif (@vx <= 6)
@vx += 1
end
else
@vx = 0
end
end
やっぱり、起動して→ボタン押すと止まる・・・
→ + B ボタンも止まる
0171名前は開発中のものです。
2008/11/11(火) 19:06:55ID:J8rpg6TXwrong number of arguments (1 of 0)、つまり引数の数が0個であるべきところに1個の引数を渡している
エラー表示のときに行番号が出てるから、その行番号のところを見れば分かるはず
0172>>161
2008/11/11(火) 19:20:01ID:A5AdEiUEありがとう!
ということは、
@x += 8 + x(input) if input.right
この行になるんだけど、引数ってことは
文字列として認識されてるって事?でも@vxって変数でしょ?
0173名前は開発中のものです。
2008/11/11(火) 19:53:02ID:sZyTNaq50174>>161
2008/11/11(火) 21:52:05ID:A5AdEiUEx = 0
x += 8 if input.b
@x -= 8 + x if input.left
@x += 8 + x if input.right
@x = 0 if @x < 0
@x = SCREEN_W-@image.w if @x >= SCREEN_W-@image.w
end
全然分からないから関数にせずに中に入れたら上手く動いたww
でもこれじゃあ、条件式とか書き入れたらメチャ長くなっちゃうんだよな
誰か関数の定義の仕方教えてくれ。
0175名前は開発中のものです。
2008/11/12(水) 09:00:05ID:QWqH0Tgg本を一冊買ってよむとかしようぜ・・・
0176名前は開発中のものです。
2008/11/12(水) 10:04:02ID:I5KMEUtV前にclassがあったからと言ってるが、そのエラーが出ることとendの位置は無関係ではないと思う。
0177名前は開発中のものです。
2008/11/14(金) 00:53:02ID:voiQCPZrhttp://jp.rubyist.net/magazine/?0018-GameProgramingForRubySDL
これをネットワーク越しに(LAN内のみ)二人対戦できるようにするには
どのような方法がありますでしょうか?
指針だけでもいいのでご教授お願いします。
0178名前は開発中のものです。
2008/11/14(金) 15:10:15ID:qoYS2Mxu(1)TCPServer+TCPSocket(2)UDPSocket(3)drbの三択だと思う
俺だったら(1)を選びます
rubyforge探せばお手軽ライブラリがあるかもしれないしないかもしれない
0179名前は開発中のものです。
2008/11/15(土) 01:28:13ID:MKGPYG8uどれでやるにしても
キー入力を送る、相手の入力を受け取るまで待つ、とかやるのが一番簡単
0180>>161
2008/11/17(月) 19:42:37ID:1Kh+3A4u一度ダッシュボタンを押すのを止め、その後またダッシュボタンを押してもスピードが
最高速度のままなんですがどうすれば、どのような文を入れれば上手いこと初期化されますかね?
ご指南お願いします。
def act(input)
#移動
move(-4 - spup(input)) if input.left
move(+4 + spup(input)) if input.right
#アニメーション
@img_ct += 1
@img_ct = 0 if @img_ct >= 40
end
def spup (input)
if input.b && input.right || input.b && input.left
if @spup <= 4
@spup += 0.2
elsif @spup <= 8
@spup += 0.1
else
@spup += 0
end
else
@spup = 0
end
end
0181名前は開発中のものです。
2008/11/17(月) 19:55:17ID:JYTy/RrD0182名前は開発中のものです。
2008/11/17(月) 23:46:58ID:ZZzCfwZC0183名前は開発中のものです。
2008/11/18(火) 06:11:27ID:inHKvQ4tまず速度増加の処理と、座標移動の処理を別々にした方が良い
下手にまとめるとバグの特定がしづらくなる
>>182
コードを見ると、一応意図としてはそうなってるっぽいな
0184>>161
2008/11/19(水) 19:13:49ID:RhFoyCHv分からないところがあったらまた来ます!
0185名前は開発中のものです。
2008/11/19(水) 20:20:05ID:QYk7rx+F0186名前は開発中のものです。
2008/11/20(木) 10:57:17ID:lGFrn9J6ttp://www.amazon.co.jp/dp/4777512924
0187名前は開発中のものです。
2008/11/23(日) 00:11:32ID:Sig72oDY「ruby console」がデスクトップに作成されないんですが
元はどこにあるんですかね?
0188名前は開発中のものです。
2008/11/23(日) 03:28:38ID:hXHhjYawActiveScriptRubyをインストールしたならスタートメニューの中にないかな
0189名前は開発中のものです。
2009/01/13(火) 02:59:39ID:MuhdFF4P0190名前は開発中のものです。
2009/02/11(水) 09:53:04ID:CB9ftT2wこれってどういう風に使えば良いのかな
ゲームで使えるとは聞くけど、いまいち使用法がピンとこない
0191名前は開発中のものです。
2009/02/11(水) 13:48:05ID:VKYRZJybttp://d.hatena.ne.jp/cyross/20090201#1233490888
メソッド実行途中にメインループに戻れるようにするとか
結構めんどうだが
ただ、1.8までのThreadと同じような実装だからちと遅いという話は聞いたことがある
使ってみないとわからんけどね
0192名前は開発中のものです。
2009/02/11(水) 14:17:46ID:YsxZknLZ一繋がりのコードで書けるとかそういうことだろうか
内部状態も画面更新も気にせずロジック分離できるのは便利かも
0193名前は開発中のものです。
2009/02/16(月) 16:30:31ID:t8G25b5tyieldされると呼ばれた元に戻るようだが
0194名前は開発中のものです。
2009/02/16(月) 16:33:52ID:t8G25b5tしかし、応用方法がよくわからん。
0195名前は開発中のものです。
2009/03/04(水) 18:38:29ID:4PD5Q+cF最近rubyを始めてstarrubyにも触ってみたのですがわからなかったところがあります
Game.runのオプション :title でウィンドウタイトルを設定しようと試しましたが、
どうもマルチバイト文字だと文字化けしてしまいます。
解決法はありますか?知っている方がいたらご教示願いたいです。
何分StarRubyの資料が少なすぎて・・・
Starrubyはruby/SDLよりも歴史が浅いようなので仕様がないですね
0196名前は開発中のものです。
2009/03/04(水) 19:38:46ID:b6Hu5YUcUTF-8にするといいよ
0197名前は開発中のものです。
2009/03/04(水) 20:07:05ID:+jIXUwNoマルチバイト文字のエンコーディングを適切に設定する必要がある
たぶんUTF-8かShift-JISあたり
0198名前は開発中のものです。
2009/03/04(水) 20:09:08ID:4PD5Q+cF早速なリスありがとうございます
UTF-8。やってみましたできました
StarRubyの問題ではなかったのですかー。
Rubyを使う上では常識だったのですね。
ありがとう
0199名前は開発中のものです。
2009/03/04(水) 20:21:37ID:4PD5Q+cFおお書いてる間にレスが
ありがとうございます
やってみました
Shft-JISでは文字化けしてしまうようです
気になったので他のも試してみましたが、正しく起動できたのはやはりUTF-8だけでした
EUC,Unicode,UnicodeBE,UTF-7は起動さえもしなかったです
(JISは起動できましたが文字化けです)
0200名前は開発中のものです。
2009/03/04(水) 20:34:54ID:b6Hu5YUcそういう訳じゃないけどUTF-8にしておくと無難なことは多いよ
0201200
2009/03/04(水) 20:37:41ID:b6Hu5YUc0202名前は開発中のものです。
2009/03/07(土) 11:22:31ID:53gTu3+nはぁーそうなんですかー。
自分はshift-jisとEuc位しか知らなかったです。。
少しrubyとstarrubyがわかってきました
そして透視変換がやっとできました
アップしときます(exe同梱)が、
ソースはとっても見辛くまた,非効率かもしれません。
ちゃんとしたプログラミングとかやったことないので・・・
画像はどっかから持ってきたのを加工したものです
ttp://www1.axfc.net/uploader/He/so/202580.zip&key=ruby
0203名前は開発中のものです。
2009/03/21(土) 21:42:13ID:gZaCLA0r> >>515
> ゲームを作りたいのなら、他の言語を選ぶべき
> Rubyを身に付けたくて、それの題材としてゲームを作りたいというのならそれは間違いで、
> 書くコードの半分くらいはGUIに関するRubyと無関係なコードだ
>
> Rubyをすでに知っていて、それでなおRubyでゲームを作りたいのいうのなら、ようこそ
0204名前は開発中のものです。
2009/03/22(日) 13:34:48ID:9ppwVol5作者のサイトにすらstarrubyのコマンドが詳しく書かれてないから、どうやったらいいのかよく分からんな。
0205名前は開発中のものです。
2009/03/22(日) 14:59:49ID:bD0IFlZx詳しくはあると思うけど、具体的な使い方というかサンプルは少なめか
0206名前は開発中のものです。
2009/03/22(日) 15:22:59ID:+BHMLRPW下手にスプライト機能とか増やして複雑になったら、文書の貧弱さが露呈するよね。
0207名前は開発中のものです。
2009/03/22(日) 15:41:04ID:szBuD49l特にテトリスもどきは解説必要な気がする…
なんでInputを再定義してるのかとか、MVCの考え方とか。
ライブラリを使うときってサンプルの真似から入ると思うし、大事じゃね
0208名前は開発中のものです。
2009/03/22(日) 15:50:28ID:9ppwVol5作者の友人の佐藤氏の作品なんかは、ソース公開して解説もしてくれてもいいと思うんだけどなー。
0209名前は開発中のものです。
2009/03/22(日) 22:41:17ID:0G6HE5cZStarRubyで分かる人居たら教えてくれ、elseじゃなくてね・・。
あと、人を歩かせる為にバックカラーを消したいんだけど透過処理が、サイト見てもよく分からないので
そちらも頼む・・。
0210名前は開発中のものです。
2009/03/23(月) 01:00:45ID:pMzcGGZaend
透過は元画像にαプレーンを埋め込むのが楽ちん。
どうしても元に埋め込めないなら
pal=chara.pallette.dup
pal[foo].alpha=0 //fooは変えたいパレット番号
chara.change_palette!(pal)
0211名前は開発中のものです。
2009/03/23(月) 19:40:36ID:bRuFtMUw十字キーの方がなかなか出来ない・・、そのif文の中に処理を入れるだけでいいんですよね
一応、過疎ってるから貼ってみる。
http://www1.axfc.net/uploader/Li/so/30471
0212名前は開発中のものです。
2009/03/23(月) 21:47:57ID:zxEKFlYl:gamepadを:keyboardに置き換えれば多分意図通りになると思われ。
あとbeginはthenのtypoかもしれない。
if Input.keys(:keyboard).empty? then
# ここに何か書く。
end
0213名前は開発中のものです。
2009/03/24(火) 00:32:40ID:yfRiRMXOじゃあの
0214名前は開発中のものです。
2009/03/25(水) 19:28:07ID:bgJtoWWU0215名前は開発中のものです。
2009/03/25(水) 20:27:42ID:wmx32DRr0216名前は開発中のものです。
2009/03/25(水) 21:40:52ID:pKaJ7Huz0217名前は開発中のものです。
2009/03/25(水) 22:28:13ID:swPHQw/5特にここに書くようなこともないんだが
0218名前は開発中のものです。
2009/03/25(水) 23:02:38ID:pKaJ7Huzゲーム作りしてて悩むこととか話し合ってみるのはどうだい
0219名前は開発中のものです。
2009/03/26(木) 00:43:51ID:ESen4SDV途中経過のRubyファイルとかもな!
0220名前は開発中のものです。
2009/03/26(木) 06:30:11ID:OAS/3Xm7分量ありすぎて、全部はとても貼れないんだが
どういう部分が見たいんだ
ちなみに俺はRPGです
0221名前は開発中のものです。
2009/03/26(木) 20:10:44ID:ESen4SDVRPGの基盤となるマップエディタの作り方とか歩行可能マス判定とかソースとか張ったりして教えてくれww
0222名前は開発中のものです。
2009/03/26(木) 22:18:48ID:EMOvYfIU最近のはRubyでいじれまくるみたいだけど
0223名前は開発中のものです。
2009/03/26(木) 23:49:10ID:ESen4SDVマップエディタは少し出来てるんだけど、プログラムが酷いから他の人のとか参考にしたいんだ
0224名前は開発中のものです。
2009/03/26(木) 23:50:53ID:fRH+inFY逆に君のソースを部分的に貼って。
皆で推敲していくのが、早いと思うんだけど。
0225名前は開発中のものです。
2009/03/27(金) 03:46:01ID:TpWItNqYブログでもう出来てると書いてあったから、ずっと待ってるんだが・・・
0226名前は開発中のものです。
2009/03/27(金) 07:37:19ID:ghITf81SColor#alpha=はないんじゃないかなあ。
c = pal[foo]
pal[foo] = Color.new(c.red, c.green, c.blue, 0)
0227名前は開発中のものです。
2009/03/27(金) 08:29:26ID:7msoaPllツクールVX体験版はエンジン部分のrubyコードが読める
0228名前は開発中のものです。
2009/03/27(金) 08:45:45ID:qkQRwucSそうじゃなくて1.9.1新機能対応版ならまだだね
0229220
2009/03/27(金) 09:19:15ID:oXZjFyzb紛らわしい書き方してごめん
特殊なジャンルのRPGなんで、歩行可能マス判定とかやってないんだ
マップエディタは一応あるけど、特に見るべきところない気がする
カーソル動かして画面スクロールしてキー叩いて壁置いて…という単純なものだし
データ構造も、ほとんどArrayやHash使ってるだけだし
0230名前は開発中のものです。
2009/03/27(金) 18:37:27ID:Kvn0bQBq俺のエディタの方なんて配列使ってないな。二次元配列使ってる?
0231名前は開発中のものです。
2009/03/27(金) 21:30:47ID:TpWItNqYそれは知ってるけど、ブログに1.9.1の新機能に対応したのが
CVS上で完成してるって書いてあるのよ、2/27のに
それからもう一ヶ月経ったけれど、まだかなぁ
0232名前は開発中のものです。
2009/03/27(金) 23:49:54ID:qkQRwucS0233名前は開発中のものです。
2009/03/28(土) 08:41:09ID:lNE65Mgrそりゃ、正式?にリリースされている物の方が良いような
作者さんが一ヶ月もかけてデバッグしてくれているのであれば
大変ありがたい話ですが
それともやっぱり一ヶ月もたってまだリリースしないのは
やはり問題が見つかったか、さらに機能追加したいのかな
0234220
2009/03/28(土) 09:03:05ID:hNg38hWq基本は文字列をキーとしたHash(data['2,5'] = value)
何度も探索するデータには二次元配列使ってる
(文字列キーの生成コストを減らすため)
0235名前は開発中のものです。
2009/03/28(土) 09:46:28ID:lNE65Mgrも、もしかして、ここ見てますかね・・・w
感謝です
0236名前は開発中のものです。
2009/03/28(土) 10:32:25ID:gnp8YIJW0237名前は開発中のものです。
2009/03/28(土) 14:16:47ID:pS05X7M80238名前は開発中のものです。
2009/03/28(土) 19:43:20ID:SMbyWSvGsave(path, alpha = true) これ使えばいいの?pasthってC:\desktopみたいにいれるんじゃないのかい
StarRuby使ってる人もしくは星氏教えてくれ。
0239名前は開発中のものです。
2009/03/28(土) 19:54:57ID:6OOjVOvSパスってファイルパスとも言うからディレクトリ位置のことのみを指すわけじゃないな
聞く前に一回試してみればわかるだろ?
0240名前は開発中のものです。
2009/03/28(土) 20:00:54ID:SMbyWSvG0241名前は開発中のものです。
2009/03/28(土) 20:47:55ID:n/UptVzoこれなら'c:\desktop'とすればOK
0242名前は開発中のものです。
2009/03/28(土) 21:04:10ID:cGUvFKXHなんか、StarRubyも新版がでてるな。
0243名前は開発中のものです。
2009/03/28(土) 21:43:19ID:sp4kvDdU0244242
2009/03/28(土) 21:51:19ID:cGUvFKXH2つめの引数を指定するとエラーになるね。
texture.save('ファイル名') で、うまくいった。
0245名前は開発中のものです。
2009/03/28(土) 22:09:33ID:sp4kvDdU0246名前は開発中のものです。
2009/03/29(日) 08:32:51ID:nQAoYy18もしかして皆Linuxで作ってる?
0247名前は開発中のものです。
2009/03/29(日) 09:12:55ID:RckVD9ct0248名前は開発中のものです。
2009/03/30(月) 08:39:08ID:TVAS8ocz自分の環境が悪いのだろうか。誰かまともに動いた人いますか?
0249名前は開発中のものです。
2009/03/30(月) 10:41:33ID:ENNj5FkZ3月始めにインストールした最新版なら動いてるけど
0250名前は開発中のものです。
2009/03/30(月) 11:04:11ID:LmJIMBy0彼の本棚には、Linux関連(DebianやEmacs)やRubyの本もあった
彼はかなりのプログラマーかも
0251名前は開発中のものです。
2009/03/30(月) 11:19:00ID:Xkdv29+10252名前は開発中のものです。
2009/03/30(月) 11:45:03ID:6Eq3sRC5最新ドキュメントをチェックしつつ、わかりやすいように纏めた本を買うことだってあるでしょ。
0253名前は開発中のものです。
2009/03/30(月) 12:23:06ID:wBWJzYBI0254名前は開発中のものです。
2009/03/30(月) 15:17:44ID:TVAS8ocz情報小出しですみません。
1/31 の mswin32 のバイナリを WinXP にインストールして使ってます。
Star Ruby を実行しようとすると
---------------------------
ruby.exe - コンポーネントが見つかりません
---------------------------
msvcrt-ruby191191.dll が見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションをインストールし直すとこの問題は解決される場合があります。
---------------------------
OK
---------------------------
って怒られるんですよね。
msvcrt-ruby191.dll はあるんですけど、原因がよくわかりません。
無事に動いている人がいらっしゃるなら、もう少しがんばってみます。
0255名前は開発中のものです。
2009/03/30(月) 17:29:56ID:i2MS4gieあとEmacsの本はLinuxの本ちゃうし。
ディストリについての瑣末事はネットで調べるのは意外と煩雑だったりする。
検索すると古い情報ばっかりどっちゃりかかるので、必要な新しい情報が
まとまってるのはありがたい。
0256名前は開発中のものです。
2009/03/30(月) 18:28:37ID:P4WT323k(Star Ruby のマニュアルにある http://arton.no-ip.info/data/asr/ の 1.9.1 をインストールしてもだめ)
仕方ないので Ruby のバージョンを 1.8.7 にダウングレードして 1.8 向けの Star Ruby 0.3.2 を
インストールしたらそれも動かない! ので、おとなしく Ruby 1.8.7 & Star Ruby 0.3.1 を使うことにしました。
0.3.1 以前は問題なく動くので最新版のバグかなんかなのか、やはり自分の環境が悪いのか
何にせよ、お騒がせしました。
もし解決法をご存じの方がいらっしゃいましたら、教えてくださると助かります。
0257名前は開発中のものです。
2009/03/30(月) 18:29:28ID:P4WT323kID 変わっていますが、>>248 です。
0258名前は開発中のものです。
2009/03/30(月) 20:06:05ID:XIXdCK8+作られたゲームはたった5〜6本、良いライブラリなのに、公式サイトのAPIの説明とか使用例とかが、初心者には
分かりずらいんだよな。
0259名前は開発中のものです。
2009/03/30(月) 20:30:41ID:D62E6kLD足りないとすればチュートリアルか
0260名前は開発中のものです。
2009/03/30(月) 23:18:04ID:Z++70DTvrubyをruby191としてビルドしたようなエラーだね
自分でビルドしてそのエラー出るのはおかしいんだけど、
変な場所にパス通ってて意図したのと違うrubyを使ってたりしてなかった?
0261名前は開発中のものです。
2009/03/31(火) 10:01:09ID:tePqzfhG0262248
2009/03/31(火) 14:13:26ID:HSEDQpANに修正中のメッセージが!
アドバイスをくださった方々、ありがとうございます。
とりあえず、次のリリースを待ってみます。
0263名前は開発中のものです。
2009/04/01(水) 23:43:10ID:coSuP9H7StarRubyも自分でビルドすれば今でもいけるはず
もしくはrubyをconfigureする時に--program-suffix=191を指定すればいいんじゃないかな
VC++でビルドする時はどこをいじるのか知らないけど
0264名前は開発中のものです。
2009/04/02(木) 10:34:27ID:Zhcbc+iYmswin32でも同じく configure.bat --program-suffix=191
0265名前は開発中のものです。
2009/04/02(木) 17:42:38ID:COLcSz29■ このスレッドは過去ログ倉庫に格納されています