■ このスレッドは過去ログ倉庫に格納されています
【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