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

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

【Ruby/SDL他】Rubyでゲーム制作・総合スレッド

1 :名前は開発中のものです。:2008/04/02(水) 02:11:27 ID:cxIG00d1.net
Ruby/SDL、StarRubyなどを用いてゲームを作る(作ろうとしている)人が
情報交換したり雑談したり質問したりするためのスレッドです。
ツクールXP(RGSS)についてはツクールスレ等でお願いします。

Ruby/SDL
http://www.kmc.gr.jp/~ohai/rubysdl.html

StarRuby
http://www.starruby.info/ja/

101 :名前は開発中のものです。:2008/06/27(金) 02:46:41 ID:bltVx0hU.net
ちなみにRuby/SDLにはおおざっぱに1.x(最新は1.3.1)と
2.x(最新は2.0.1)という二つのバージョンがあって、
>>96が書いているSDL::Screen.getは2.xにしかない。
リファレンスマニュアルもバージョン毎にある(1.xと2.xは別)ので要注意。

SDL::Screen.getがうまくいかないという>>100は1.xを使っているのではないか。
念のために、SDL::VERSIONの値を教えてほしい。

require 'sdl'
p SDL::VERSION


102 :名前は開発中のものです。:2008/06/27(金) 13:19:02 ID:FLBA5DaJ.net
PCに入ってるのは2.0alpha1です 


けどたぶんスターター使って起動してるから多分そっちのバージョンが低いのかも・・・('A`)

103 :名前は開発中のものです。:2008/06/27(金) 14:02:06 ID:FLBA5DaJ.net
なんか2.0のほうで起動したらちゃんと起動しました


でもactの中でスクリーンプット置くにはどうしたらいいんだろう・・・
render(screen)のところにそのまんま全部おいたら常に赤くなるのは確認できたんですけど 死んだときに赤くするって処理がいまだにできないですor2
いろいろためしてますが・・・もうダメぽ

http://www.uploda.org/uporg1507985.rar.html とりあえずmainソースです;

104 :名前は開発中のものです。:2008/06/27(金) 21:06:56 ID:l2w5o4Cs.net
>>103
もう消えてる

105 :名前は開発中のものです。:2008/06/29(日) 09:23:06 ID:+QlqCrVn.net
返事おくれてごめんなさい('A`)
なんとか自己解決しました。

被弾した時にすぐに別のシーンに移動してしまっていたようで 新しくスクリーンアップデートをつくってあげたらなんとかあかくなりましたor2お騒がせしてごめんなさい

106 :名前は開発中のものです。:2008/07/11(金) 19:52:05 ID:iVchH/PO.net
StarRubyの人がこんなサイトを。

http://ruby-game-dev.org/

まだほとんど何もないけど。

107 :名前は開発中のものです。:2008/07/11(金) 20:14:05 ID:zL2sa+vS.net
そのサイト見ながら思ったんだが、Ruby製で真面目に遊べそうなゲームって何かないかな?
俺がプレイした中でハマったのはSOAR(ただしプレイスタイルはボタン連打)だけなんだが

108 :名前は開発中のものです。:2008/07/13(日) 07:03:02 ID:XXccfbsj.net
>>106
Rubyでゲーム開発のコミニティがほしいといってたから作ったんだね

109 :名前は開発中のものです。:2008/07/16(水) 00:25:20 ID:tEiF1FT2.net
ruby初心者だけどやろうかな・・・上のwikiみておもった。

110 :名前は開発中のものです。:2008/07/23(水) 12:43:57 ID:XJisHIkx.net
StarRubyでエロゲ作りたいんだけど、
イベント画像がフォルダ開いて丸見えってのはやっぱツライよな。

111 :名前は開発中のものです。:2008/07/23(水) 13:33:03 ID:09s8RLrZ.net
Marshalでどうにかならんか

112 :名前は開発中のものです。:2008/07/23(水) 14:23:56 ID:jaDqW596.net
xorみたいな可逆暗号を実装すればいんでねーの

113 :名前は開発中のものです。:2008/07/23(水) 19:13:56 ID:IFZqEpkn.net
>>110
今のStarRubyでもTexture#dump/undumpあたりを使えばできるかもしれないけど、どっちにしても面倒そうだな

Ruby/SDLで言う、load_from_ioみたいなメソッドを実装してもらえるように
要望出してみたらどうだろう
もしくはもっとダイレクトに、暗号化機能そのものを提案するとか


114 :名前は開発中のものです。:2008/07/23(水) 21:51:17 ID:XJisHIkx.net
>>113
たしかに、IOオブジェクトから画像をロードできればいいんだよな。
Rubyスクリプトが読める人には意味ないけど、とりあえず一般ユーザーの目をごまかせればいいんだし。

とか思ってたら、すでに星さんがこの話題を取り上げていたぜ
http://groups.google.com/group/starruby/browse_thread/thread/4029a1fa5486ee01

115 :名前は開発中のものです。:2008/07/24(木) 12:17:59 ID:vi/50UDV.net
デバッグ中とかの利便性では、生のまま持ってたほうがいいから、そのへんの
利便性との両立がフレームワーク作者の勘所だったりするわけですな。

116 :名前は開発中のものです。:2008/07/24(木) 21:06:36 ID:KjJDp2BX.net
mygame使ってみたけど
拡大縮小が使い物にならん気がする。
HDDまでアクセスし始める始末だから、メモリかなり使ってるのかなぁ。

結局SDLを直にやるか、代替クラス作らんといかんっぽいのが難か・・・。


117 :名前は開発中のものです。:2008/07/24(木) 21:31:06 ID:ZAyfyp08.net
>>116
MyGameって、拡大縮小になんか特殊な処理やってるのか?
普通のRuby/SDLと同じだと思うが

118 :名前は開発中のものです。:2008/07/24(木) 22:12:58 ID:b4aMzTsi.net
>>116
SDL経由でOpenGLを使うと楽かもね。
ttp://www.kmc.gr.jp/~ohai/sgt.rb とか。

119 :名前は開発中のものです。:2008/07/26(土) 16:27:16 ID:IqVhnzGT.net
MacでRuby/SDLのインスコがめんどくさくて鼻血でそう

120 :名前は開発中のものです。:2008/07/26(土) 16:38:03 ID:LYWnlODe.net
つ bootcamp

121 :名前は開発中のものです。:2008/07/26(土) 16:53:45 ID:IqVhnzGT.net
ブートキャンプいれてる
ただXcodeで書きたかったっていう、それだけ

122 :名前は開発中のものです。:2008/07/27(日) 19:39:57 ID:L0iN1u/r.net
ビリーズブートキャンプ

123 :名前は開発中のものです。:2008/07/28(月) 19:29:54 ID:9GhNVVJ3.net
筋肉ムキムキでLightweightじゃなくなっちまうじゃないか

124 :名前は開発中のものです。:2008/08/03(日) 17:47:55 ID:W/zmysiG.net
筋肉つけて、重いRubyもこんなに軽々と!

125 :名前は開発中のものです。:2008/08/03(日) 17:49:53 ID:Fm7SEmEs.net
Rubyでソースを暗号化する方法って何かないのかなあ?
Pythonだとpycみたいなの
r2eの類だと全部一緒のexeになってまうでしょ?そんなのじゃなくて・・・

126 :名前は開発中のものです。:2008/08/03(日) 17:50:25 ID:Fm7SEmEs.net
って、ゲームの話題じゃないかw
こっちより本スレで聞いてきまつ

127 :名前は開発中のものです。:2008/08/03(日) 18:05:27 ID:+gPnPllx.net
の方が有意義でしょうねw
yarvでバイトコード化はやってる筈だし検討はしてるみたいな事言ってた記憶はあるんだけどな
バイトコード化と暗号化は別もんだけど。

現状、上にも出てるけど手動でダンプしたのロードするとかが正攻法かもな

128 :名前は開発中のものです。:2008/08/04(月) 08:00:58 ID:2UcTdZru.net
>>125
全然認識が間違ってたらすまんけど、RubyってGPLだよね。
ソースを暗号化してもGPLを盾にソース公開を要求されたら暗号化意味無くない?
(上のdumpの例は画像だから有効だろうけど)


129 :名前は開発中のものです。:2008/08/04(月) 11:02:51 ID:0vDDSQkq.net
>>128
間違ってる

「GPLのツールを使って開発したソフトウェアはGPLでなければならない」というのは間違い。
GPLのソースコードを含む。GPLのライブラリーをリンクしている 場合にのみ感染する。
・自分が書いたRubyのスクリプトには任意のライセンスを適用できる。よってソース公開の義務はない。

あとRubyは、GPLとArtisticに似た独自ライセンスのデュアルライセンス

130 :名前は開発中のものです。:2008/08/04(月) 14:55:29 ID:JBgDhP6y.net
>>125
拡張モジュールを使って、暗号化したソースを読む、という難読化を実現してる
例はあるよ。1.9 のバイトコードの外部化は検討中の段階。

131 :名前は開発中のものです。:2008/08/04(月) 22:56:25 ID:2UcTdZru.net
>>129
レスTHX
ということは、
 1.自作のRubyソースでGPLのソースを使わない。
 2・GPLのRuby実行環境とリンクしない。
に気をつければGPL回避はできるわけですね。
(2.があるからmkexyはアウトですか。)

暗号化したRubyソースを復号化する外部プログラムを作って、
そのプログラムがRubyソースを復号化&system("ruby.exe 復号化したソースファイル")とかすれば
一応、Ruby.exeとはリンクしてないわけだから問題ない?

132 :名前は開発中のものです。:2008/08/04(月) 23:05:09 ID:nwnG0EQa.net
スレ違い

133 :名前は開発中のものです。:2008/08/04(月) 23:32:20 ID:q0P6gIfF.net
>>131
ruby.exeにリンクしたからといってGPLに感染するわけではない
詳しくはRubyライセンスを読め
ttp://www.ruby-lang.org/ja/LICENSE.txt

また、exerbで生成したファイルも、GPL(LGPL)に感染はしない
ttp://exerb.sourceforge.jp/man/doc/license.ja.html

134 :名前は開発中のものです。:2008/08/05(火) 22:47:08 ID:9DK3Bk0R.net
ファイル開いただけで見えるのは困るという程度なら
Exerbで固めてUPXで圧縮とかで目的は果たせそう
ウィルス判定されそうだけどなw

135 :名前は開発中のものです。:2008/08/09(土) 05:55:33 ID:XTb0A79H.net
>>130
RPGツクールXPなんかはファイル単位の暗号化やってるみたいだよね。
RPGツクールVXの方は、さらに進化していて1つのアーカイブにまとめているみたい。

こういうのって拡張モジュールのレベルで可能なのかな?
require上書きして・・・と思ったけど、組み込み関数だよな・・・
って、そろそろスレ違いなので本スレで聞いてくる

136 :名前は開発中のものです。:2008/08/09(土) 15:58:15 ID:Bpln2nru.net
require上書きはできるだろ
exerbでもrubygemsでもやってる

137 :名前は開発中のものです。:2008/08/14(木) 20:24:31 ID:q15OOEOg.net
メソッドの名前の付け方に関して相談させてください
ゲームループは、各オブジェクトの更新(update)と各オブジェクトの描画(render)の2ステップに分かれると思うのですが、各オブジェクトの更新のメソッド名が決められません
updateにしようとも思ったのですが、それではObservableから呼び出されるupdateとかぶってしまいます

いまは第二候補としてiterateを考えていますがいまいちです
ほかに良い名前があればお願いします

138 :名前は開発中のものです。:2008/08/14(木) 21:06:08 ID:+Csgcr00.net
安易にstep

139 :名前は開発中のものです。:2008/08/15(金) 00:55:57 ID:S09k7UOG.net
update_every_frameとか
もしくはイベント駆動的にon_every_frameとか

140 :名前は開発中のものです。:2008/08/15(金) 16:44:29 ID:3xc17uVB.net
update_every_frameをやや省略したupdate_frameを使う案も考えましたが
シンプルでタイプ量が少ないstepを使うことにします
ありがとうございました

141 :名前は開発中のものです。:2008/08/26(火) 22:40:24 ID:YnC+NSXL.net
今までruby1.8.7で作ってて流石に処理が増えたら重くなってきたんだけど
なにも考えずに1.9にしたら露骨に速くなったりするものかな
拡張ライブラリのコンパイルしなおしとかが面倒でなかなか試せなくて

142 :名前は開発中のものです。:2008/08/27(水) 12:10:36 ID:tSXh0P22.net
あんまり期待しないほうがいいような
もともとコアのライブラリは高速化のためにCで書かれてる
まあRubyで書かれた部分が
処理に大きなウェイトを占めるのなら、あるいは・・・・

143 :名前は開発中のものです。:2008/08/27(水) 22:28:44 ID:eVcLY6Kw.net
ありがとう
やっぱりそんなに期待しちゃ駄目か
まずプロファイル取る所から真面目にやって見るよ

144 :名前は開発中のものです。:2008/09/01(月) 18:36:52 ID:Zwq+vFb8.net
macOS 10.4で開発環境を整えることが出来た方、いらっしゃいますか?
これだという情報を探し当てられなくて、行き詰まってしまいました。
解決方法をご存知の方がいらっしゃいましたら、どうか教えていただけませんでしょうか。

【状況】
sdlをインストールして更に
rubysdl(2系)をgemにてインストールし、
rsdlを opt/local/bin に入れました。
この状態で、下のサンプルプログラムを実行すると、窓は出ないでエラーが出ます。

【サンプル】
_______________________________
# ライブラリの読み込み
require "sdl"

# 定数の定義
SCREEN_W = 640
SCREEN_H = 480

# SDL の初期化
SDL.init(SDL::INIT_EVERYTHING)
SDL.set_video_mode(SCREEN_W, SCREEN_H, 16, SDL::SWSURFACE)

# 2 秒間待つ
sleep(2)
_______________________________

【エラー内容】
_NSAutoreleaseNoPool(): Object 0x3529b0 of class NSImage autoreleased with no pool in place - just leaking
2008-09-01 18:26:33.147 ruby[28998] *** _NSAutoreleaseNoPool(): Object 0x3e1e90 of class _NSThemeWidget autoreleased with no pool in place - just leaking
2008-09-01 18:26:33.147 ruby[28998] *** _NSAutoreleaseNoPool(): Object 0x3e16a0 of class NSFont autoreleased with no pool in place - just leaking
こういうのが沢山

145 :名前は開発中のものです。:2008/09/02(火) 12:51:42 ID:h/fuKRtU.net
rsdlで実行してる?
ruby hoge.rb
じゃなくて
rsdl hoge.rb
で実行するんだぞ

146 :名前は開発中のものです。:2008/09/02(火) 17:14:35 ID:ezlAUq6N.net
>>145さん

ご指摘の通りでした。
素人考えでIDE(netbeans)から動かそうとしていましたが、ターミナルから
rsdl hoge.rbで実行したら動きました。
どうもありがとうございました!
うれしいです。

147 :名前は開発中のものです。:2008/09/16(火) 13:10:54 ID:Yf+0nKT9.net
Mac OS X 10.5.2で、Mygameをシステムにインストールされているrubyとは別のrubyのディレクトリにインストールしたいのですが、install_mygame.rbをどのように書き換えればできますでしょうか。
どなたかご教示ください。

148 :名前は開発中のものです。:2008/09/17(水) 01:24:40 ID:DBB0kkz+.net
書き換えなくてもその別のrubyでinstall_mygame.rbを動かせばいいように見える
MyGame使ってないんで間違ってたらごめん

149 :名前は開発中のものです。:2008/09/17(水) 02:08:51 ID:6SEPyg3M.net
>>148
返信ありがとうございます。
実は、
ttp://mono.kmc.gr.jp/~yhara/d/?date=20080710#p05
このruby・SDLをインストールしていないPCでも動かせるようにするパッケージを使用したいと思っていまして、
このパッケージの中のrubyにmygameをインストールしたいのです。
わかりにくくてすみません。
最初に申し上げておくべきでした。

150 :名前は開発中のものです。:2008/09/18(木) 01:02:57 ID:RVpg2t6e.net
libとfontsをResourcesの中にコピーすりゃよさそうだが
そのままだとフォントの位置が問題出そうだな
mygame.rbを310行目付近をいじるなり参考にして対処してみてくれ

151 :名前は開発中のものです。:2008/09/18(木) 11:29:45 ID:H2tmF02M.net
>>150
返信ありがとうございます。
うーん、やはりできません。
Resourcesの中にコピーして、フォントの入っているディレクトリのパスを相対パスで適切に直したのですが、なぜかできません。
requireで参照するパスを組み込み定数$:で調べたところ、lib/ruby/1.8やlib/ruby/site_ruby/1.8だったので、それらのディレクトリにmygameディレクトリおよびmygame.rbをコピーしてみる、ということも試したのですがうまくいきません。
require 'mygame'の時点でスクリプトが終了してしまいます。

いったい何が悪いのでしょうか。

152 :名前は開発中のものです。:2008/09/18(木) 23:17:18 ID:RVpg2t6e.net
コンソール.app開いてみたらエラー出てないかな

153 :名前は開発中のものです。:2008/09/19(金) 00:11:41 ID:AMcmg5Cj.net
>>152
ややっ!こんなところにきっちりログが保存されているとは!
どうもありがとうございます。
チェックしてみます。

154 :147:2008/09/19(金) 16:50:49 ID:AMcmg5Cj.net
ついにできました!みなさんご回答どうもありがとうございました。

mygameディレクトリ及びmygame.rbをlib/ruby/1.8にコピーし、
FontsディレクトリはResources直下にコピー。
その時点で起動したところコンソール.appにはkconv.rbがnkfをrequireできていないとのエラーが出ていたので、
起動するrubyスクリプトに
$: << "lib/ruby/1.8/i686-darwin9,2,2"
としてnkf.bundleがあるディレクトリを、libを読み込むディレクトリに追加。
そして、今度はrbconfig.rbがおかしいというエラーが出たので、mygame.rbの297行目、require 'rbconfig'をコメントアウト。
311行目を
datadir = Dir.pwd
と書き換えました。
これでrbconfig.rbを使わずに、起動するrubyスクリプトと同ディレクトリのFontsディレクトリからフォントを読み込むようになり、無事起動いたしました。

なんだか拙い解決方法ですが、一応解決できたので、ほかの方の参考になれば、と思います。

繰り返しになりますが、回答してくださったみなさんどうもありがとうございました。
これからゲーム制作にのめりこみたいと思います。

155 :名前は開発中のものです。:2008/10/19(日) 01:33:54 ID:5gugO+Xs.net
保守

156 :名前は開発中のものです。:2008/10/19(日) 22:40:14 ID:rF3bgZLP.net
GRikoの講座をみておもろかったから、軽くrubyの勉強も兼ねてを弄り始めたんですが、
簡単な2Dゲーなら他のライブラリを使った方がいいかも、とかあります?
やりたいのは、とりあえずテーブルゲーム系で、派手な画像処理はいらなくて、
音楽好きなんで音はちょっと拘りたいのと、入力はマウスよりキーボードからの方が多いかも、で、
http://ruby-game-dev.org/wiki/index.php?%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA
ここの紹介を見てるとmiyakoがいいのかなって感じなんですが、どでしょうか
プログラミング入門者なんでドキュメントが多いと助かります

157 :名前は開発中のものです。:2008/10/19(日) 23:08:24 ID:o251uXL9.net
ドキュメントに手を抜いている開発者が多いかも。

158 :名前は開発中のものです。:2008/10/19(日) 23:50:28 ID:Mq2HTqU9.net
Wikiの紹介見たけど、もはやゲーム用のライブラリが多すぎて、どれが良いのか分からん……

俺の知ってる範囲では
かなり低レベルなところ(SDLに近い部分)までいじくれて、ドキュメントが充実してるRuby/SDL
仕様がシンプルで、拡大縮小などの画像処理機能が充実してるStarRuby
あたりが良いライブラリだと思う(両方とも日本語文書あり)

Miyakoについてはきちんと触ったことないから分からない
Ruby/SDLのラッパーだったはずなので、とりあえず動作速度には注意

159 :名前は開発中のものです。:2008/10/19(日) 23:59:06 ID:rF3bgZLP.net
サンプルが充実していて、読みやすいコードが沢山あれば
ドキュメントが頼りなくてもなんとかしてみようって思えるんですけどね
だったらruby以外で…って話になってしまうのかもしれませんが

rubyはやっぱり既に出来る人向けの環境なのかなあ
結局、ツクールやHSPあたりからやっとけ、みたいな…

まあじっくり焦らず色々やってみます
キーを叩くより、紙の上でゲームのアイデアを考えたりしてるほうが
時間的にはだいぶ多くなるわけだし

>>158さん
StarRubyは画像処理にスーファミ的具体例wがあったので
つかみはOKだったんですが、できる人向けっぽい印象がありました

動作速度に関しては、アクションゲーム的なのは気になるのかもしれませんね
自分は思考タイプのゲームが好みなんで、たぶんなにを使っても問題なさそうです
Flashでもなんとかなりそうな感じなんで

GRikoは入力がゲームパッド仕様だったので、アクションゲーム寄りの
ライブラリなのかな?と思い、それで他が知りたくなったわけです

160 :名前は開発中のものです。:2008/10/21(火) 01:19:43 ID:SjJ19aHP.net
GRikoは今のところほぼ作者専用でちゃんとリリースするつもりは無さげ
StarRubyは良いと聞くし、使ってる人も結構いそう
MyGameは本も出てるのでRuby自体の勉強も一緒にできる
初めてなら「Rubyではじめるゲームプログラミング」を読んでMyGameを使ってみたらどうだろう

161 :名前は開発中のものです。:2008/11/10(月) 18:07:48 ID:jzB6LQre.net
RUBY/SDL
でマリオ的なゲーム作りたいんですけど、
今やっと、背景、キャラ表示して
左右に動けるようになったんですが
徐々に走るスピードを上げるってどうやるんですかね?

162 :名前は開発中のものです。:2008/11/10(月) 20:50:12 ID:DwNpP07e.net
>>161
キー操作に反応して速度を上げていけばおk

163 :名前は開発中のものです。:2008/11/10(月) 21:25:26 ID:mVuGBL+M.net
>>160
if (Bボタン)
VX+=1
end
X+=VX

164 :名前は開発中のものです。:2008/11/10(月) 21:26:08 ID:mVuGBL+M.net
161だった

165 :>>161:2008/11/11(火) 00:25:28 ID:A5AdEiUE.net
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
end

def x(input)
if input.b
vx += 1
end
end

>>162 >>163ありがとう!
始めたばかりで手探り状態なんだが、
こんな感じかな?
上手く起動できない、見てくれ。

166 :名前は開発中のものです。:2008/11/11(火) 07:03:14 ID:J8rpg6TX.net
>>165
ぱっと見で分かること

・renderメソッドの後ろのendが一つ多い
・xメソッドの中にあるvxがローカル変数

167 :>>161:2008/11/11(火) 17:29:14 ID:A5AdEiUE.net
>>166
endが1つ多いのはこの上にclassがあったから。
消し忘れスマン

ローカル変数をインスタンス変数に変えてみたけど結果は同じだった。

思ったんだけど、これがもしできたとしても
ボタン押してる間(この処理が行われるとき)ずっと1づつ足されるわけだから
一瞬で画面外に出るぐらいのスピードになるんじゃないかな?
って馬鹿なこと言ってるなと思わないでくれ・・・

168 :名前は開発中のものです。:2008/11/11(火) 17:39:59 ID:sZyTNaq5.net
通常は、前回も押してたかチェックしてリピートか判断し
何回リピートしたらいくつ増やす、とかいくつ以上は増えない、とか離したら0に戻す、とかやるけど
動かしながら試すのがいいと思うよ。

169 :名前は開発中のものです。:2008/11/11(火) 18:09:28 ID:J8rpg6TX.net
そもそも、なぜエラーの内容を書かないの
エラーに関する質問をするときに、そのエラーの詳細を書くのは基本だ

とりあえず、Bボタンを押してないときに
xメソッドがnilを返して落ちるだろうということは想像がつく

170 :>>161:2008/11/11(火) 18:49:12 ID:A5AdEiUE.net
>>168
・前回も押してたかチェックする  これどういうことですか
・何回リピートしたらいくつ増やす  これは条件式(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 ボタンも止まる

171 :名前は開発中のものです。:2008/11/11(火) 19:06:55 ID:J8rpg6TX.net
>>170
wrong number of arguments (1 of 0)、つまり引数の数が0個であるべきところに1個の引数を渡している
エラー表示のときに行番号が出てるから、その行番号のところを見れば分かるはず

172 :>>161:2008/11/11(火) 19:20:01 ID:A5AdEiUE.net
>>171
ありがとう!

ということは、
@x += 8 + x(input) if input.right
この行になるんだけど、引数ってことは
文字列として認識されてるって事?でも@vxって変数でしょ?

173 :名前は開発中のものです。:2008/11/11(火) 19:53:02 ID:sZyTNaq5.net
そのエラーがそこで出るってことは、def x(input) の関数がちゃんと定義されてないんじゃないか。

174 :>>161:2008/11/11(火) 21:52:05 ID:A5AdEiUE.net
def act(input)
x = 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
でもこれじゃあ、条件式とか書き入れたらメチャ長くなっちゃうんだよな

誰か関数の定義の仕方教えてくれ。

175 :名前は開発中のものです。:2008/11/12(水) 09:00:05 ID:QWqH0Tgg.net
基本的な文法わかってないのなら、マニュアル読むとか、
本を一冊買ってよむとかしようぜ・・・

176 :名前は開発中のものです。:2008/11/12(水) 10:04:02 ID:I5KMEUtV.net
とりあえず、>>161のendの位置が変
前にclassがあったからと言ってるが、そのエラーが出ることとendの位置は無関係ではないと思う。

177 :名前は開発中のものです。:2008/11/14(金) 00:53:02 ID:voiQCPZr.net
Rubyで簡単な落ちゲームがあるのですが

http://jp.rubyist.net/magazine/?0018-GameProgramingForRubySDL

これをネットワーク越しに(LAN内のみ)二人対戦できるようにするには
どのような方法がありますでしょうか?
指針だけでもいいのでご教授お願いします。




178 :名前は開発中のものです。:2008/11/14(金) 15:10:15 ID:qoYS2Mxu.net
標準添付ライブラリに限って言えば
(1)TCPServer+TCPSocket(2)UDPSocket(3)drbの三択だと思う
俺だったら(1)を選びます
rubyforge探せばお手軽ライブラリがあるかもしれないしないかもしれない

179 :名前は開発中のものです。:2008/11/15(土) 01:28:13 ID:MKGPYG8u.net
LAN内で自分でちょっと試す程度だったら俺ならdrbかな
どれでやるにしても
キー入力を送る、相手の入力を受け取るまで待つ、とかやるのが一番簡単

180 :>>161:2008/11/17(月) 19:42:37 ID:1Kh+3A4u.net
徐々にスピードを上げることは成功(?)したんですが、
一度ダッシュボタンを押すのを止め、その後またダッシュボタンを押してもスピードが
最高速度のままなんですがどうすれば、どのような文を入れれば上手いこと初期化されますかね?
ご指南お願いします。

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


181 :名前は開発中のものです。:2008/11/17(月) 19:55:17 ID:JYTy/RrD.net
それってRubyと関係あるのか?

182 :名前は開発中のものです。:2008/11/17(月) 23:46:58 ID:ZZzCfwZC.net
ダッシュボタン押されてなければ速度を0にすればいいじゃない

183 :名前は開発中のものです。:2008/11/18(火) 06:11:27 ID:inHKvQ4t.net
>>180
まず速度増加の処理と、座標移動の処理を別々にした方が良い
下手にまとめるとバグの特定がしづらくなる

>>182
コードを見ると、一応意図としてはそうなってるっぽいな

184 :>>161:2008/11/19(水) 19:13:49 ID:RhFoyCHv.net
全然進まないので、RUBYゲーム作成の本買いました。
分からないところがあったらまた来ます!

185 :名前は開発中のものです。:2008/11/19(水) 20:20:05 ID:QYk7rx+F.net
Rubyゲーム作成の本とか出てたのか・・・

186 :名前は開発中のものです。:2008/11/20(木) 10:57:17 ID:lGFrn9J6.net
探してみた、これか。
ttp://www.amazon.co.jp/dp/4777512924

187 :名前は開発中のものです。:2008/11/23(日) 00:11:32 ID:Sig72oDY.net
rubyインストールしたんですが
「ruby console」がデスクトップに作成されないんですが
元はどこにあるんですかね?


188 :名前は開発中のものです。:2008/11/23(日) 03:28:38 ID:hXHhjYaw.net
どのrubyインストールしたの?
ActiveScriptRubyをインストールしたならスタートメニューの中にないかな

189 :名前は開発中のものです。:2009/01/13(火) 02:59:39 ID:MuhdFF4P.net
あげ

190 :名前は開発中のものです。:2009/02/11(水) 09:53:04 ID:CB9ftT2w.net
ruby 1.9.1でFiberが実装されたけど
これってどういう風に使えば良いのかな
ゲームで使えるとは聞くけど、いまいち使用法がピンとこない

191 :名前は開発中のものです。:2009/02/11(水) 13:48:05 ID:VKYRZJyb.net
るびまの1.9.1の歩き方にも載ってたけど↓
ttp://d.hatena.ne.jp/cyross/20090201#1233490888
メソッド実行途中にメインループに戻れるようにするとか
結構めんどうだが

ただ、1.8までのThreadと同じような実装だからちと遅いという話は聞いたことがある
使ってみないとわからんけどね

192 :名前は開発中のものです。:2009/02/11(水) 14:17:46 ID:YsxZknLZ.net
キャラクタとか弾幕の移動パターンやAVGのスクリプトが
一繋がりのコードで書けるとかそういうことだろうか
内部状態も画面更新も気にせずロジック分離できるのは便利かも

193 :名前は開発中のものです。:2009/02/16(月) 16:30:31 ID:t8G25b5t.net
マイクロスレッドとFiberは違うものなのかな。
yieldされると呼ばれた元に戻るようだが

194 :名前は開発中のものです。:2009/02/16(月) 16:33:52 ID:t8G25b5t.net
transfarで呼べばいいのか。自己解決。
しかし、応用方法がよくわからん。

195 :名前は開発中のものです。:2009/03/04(水) 18:38:29 ID:4PD5Q+cF.net
質問です
最近rubyを始めてstarrubyにも触ってみたのですがわからなかったところがあります

Game.runのオプション :title でウィンドウタイトルを設定しようと試しましたが、
どうもマルチバイト文字だと文字化けしてしまいます。

解決法はありますか?知っている方がいたらご教示願いたいです。

何分StarRubyの資料が少なすぎて・・・
Starrubyはruby/SDLよりも歴史が浅いようなので仕様がないですね

196 :名前は開発中のものです。:2009/03/04(水) 19:38:46 ID:b6Hu5YUc.net
>>195
UTF-8にするといいよ

197 :名前は開発中のものです。:2009/03/04(水) 20:07:05 ID:+jIXUwNo.net
>>195
マルチバイト文字のエンコーディングを適切に設定する必要がある
たぶんUTF-8かShift-JISあたり

198 :名前は開発中のものです。:2009/03/04(水) 20:09:08 ID:4PD5Q+cF.net
>>196
早速なリスありがとうございます
UTF-8。やってみましたできました
StarRubyの問題ではなかったのですかー。
Rubyを使う上では常識だったのですね。
ありがとう

199 :名前は開発中のものです。:2009/03/04(水) 20:21:37 ID:4PD5Q+cF.net
>>197
おお書いてる間にレスが
ありがとうございます

やってみました
Shft-JISでは文字化けしてしまうようです

気になったので他のも試してみましたが、正しく起動できたのはやはりUTF-8だけでした
EUC,Unicode,UnicodeBE,UTF-7は起動さえもしなかったです
(JISは起動できましたが文字化けです)

200 :名前は開発中のものです。:2009/03/04(水) 20:34:54 ID:b6Hu5YUc.net
> Rubyを使う上では常識だったのですね。
そういう訳じゃないけどUTF-8にしておくと無難なことは多いよ

総レス数 687
200 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200