1 名前:名前は開発中のものです。 [2008/04/02(水) 02:11:27 ID:cxIG00d1] Ruby/SDL、StarRubyなどを用いてゲームを作る(作ろうとしている)人が 情報交換したり雑談したり質問したりするためのスレッドです。 ツクールXP(RGSS)についてはツクールスレ等でお願いします。 Ruby/SDL www.kmc.gr.jp/~ohai/rubysdl.html StarRuby www.starruby.info/ja/
548 名前:名前は開発中のものです。 mailto:sage [2010/06/26(土) 19:03:26 ID:9CeE/+nX] 返信が遅れて申し訳ない 実はまだ、言われた事が全て終わっていないが、解決までまだ時間が掛かりそうなので途中経過だけ書き込んでおく まずはinstall.rbを分解する #!/usr/bin/env ruby require "rbconfig" require "fileutils" option = {:noop => false, :verbose => true} dlldir = Config::CONFIG["bindir"] sitearchdir = Config::CONFIG["sitearchdir"] FileUtils.mkdir_p(dlldir) FileUtils.mkdir_p(sitearchdir) Dir.glob("dll/*.dll") do |path| next if path =~ /zlib/ and File.exist?(File.join(dlldir, File.basename(path))) FileUtils.install(path, dlldir, option) end Dir.glob("ext/*.so") do |path| FileUtils.install(path, sitearchdir, option) end puts "Installation Star Ruby completed!" 一行目と二行目の区切りが怪しいが、大文字小文字を考えるとこうだろう
549 名前:名前は開発中のものです。 mailto:sage [2010/06/26(土) 19:04:16 ID:9CeE/+nX] 次にirbで一行ずつ実行してみた 01行目「#!/usr/bin/env ruby」はエラーは出なかった (今動いているrubyのインストール位置を調べてる?戻り値なんかも無いからたぶん成功したとしか言えない) 02行目「require "rbconfig"」は「true」と返ってきた(ちゃんとインクルードされた?) 03行目「require "fileutils"」は「true」と返ってきた(ちゃんとインクルードされた?) 04行目「option = {:noop => false, :verbose => true}」は{}で指定した内容がそのまま帰ってきた (変数optionに"「オプション無効モード」は無効に、「ログ出力」は有効に"と入れた?) 05行目「dlldir = Config::CONFIG["bindir"]」はruby本体のbinディレクリが返ってきた (変数"dlldir"の中にbinフォルダのフルパスが格納された?) 06行目「sitearchdir = Config::CONFIG["sitearchdir"]」ではruby\libの中のフォルダが返ってきた (変数"sitearchidir"の中に、.so格納予定のフォルダへのパスが格納された?) 07行目「FileUtils.mkdir_p(dlldir)」はruby1.9.1のbinフォルダが返ってきた (変数dlldirで指定されたフォルダを作ろうとしたが、元から存在したフォルダなのでスルーされた?) 08行目「FileUtils.mkdir_p(sitearchdir)」は六行目で指定したフォルダへのパスが返ってきた (七行目と同じで、元から存在してたからスルーされた?) 01行目が怪しいが、大体問題ないように見える 07行目と08行目の命令については、「FileUtils.mkdir_p(sitearchdir + "\\testdir")」などとして ちゃんとフォルダが作られる事を確認している
550 名前:名前は開発中のものです。 mailto:sage [2010/06/26(土) 19:05:20 ID:9CeE/+nX] 09行目〜12行目 「Dir.glob("dll/*.dll") do |path| next if path =~ /zlib/ and File.exist?(File.join(dlldir, File.basename(path))) FileUtils.install(path, dlldir, option) end」 13行目〜15行目 「Dir.glob("ext/*.so") do |path| FileUtils.install(path, sitearchdir, option) end」 ここではエラーこそ出ないが、それぞれのフォルダの中には変化がない each文で、各フォルダの中を調べて、各.dllやl.soが存在しなければそれをファイルのコピーを繰り返す命令のようだが 「C:\programming\ruby191\bin」の中にdllがインストールされたり 「C:\programming\ruby191\lib\ruby\site_ruby\1.9.1\x64-msvcr80」の中にstarruby.soが配置されたりもしない
551 名前:名前は開発中のものです。 mailto:sage [2010/06/26(土) 19:06:14 ID:9CeE/+nX] 試しに 「Dir.glob("dll/*.dll") do |path| puts "test" + path end」 などとしても何の反応もない(nilが一度だけ表示される)事から、Dir.globの中の命令が一度も実行されていないのだろうか? ここまで付き合ってくれてありがとう。まだ原因がわかった訳ではないが それでも問題解決まで大分前進した気がする。 例によって長々と書いてしまって申し訳ない。とりあえずこの辺をもう少し調べてみて、また何か分かったら報告させて頂く
552 名前:名前は開発中のものです。 mailto:sage [2010/06/26(土) 19:07:58 ID:9CeE/+nX] ちなみに、starruby用dll(starruby-0.3.3-win32-ruby19.zipを展開して出来たdllフォルダの中にある各.dllファイル)と 同じく展開して出来たstarruby.soファイルを手動でコピーし、requireできるか試してみた所 「-e:1:in ‘require’: 193: %1 は有効な win32 アプリケーションではありません。 -0:/programing/ruby19/lib/(中略)starruby.so (LoadError) from -e:1:in ‘<main>’」 と出てきた。 同じ事をruby1.8.7でやってみた所(>>547 の時点であまりやるなと言われてはいたが) ちゃんとGUI画面が表示された。ruby1.9.1(32bit版)でも同じくGUI画面が表示された (隅々まで不備なく動くかどうか確認したわけではないが) 今回のインストールできない問題とは別に>>545 で指摘された問題があるかもしれない。
553 名前:名前は開発中のものです。 mailto:sage [2010/06/26(土) 20:42:01 ID:9CeE/+nX] starruby を install.so を使ってインストールする事に成功した 失敗していた理由はなんて事もない、ただカレントディレクトリの位置を設定していなかったからだった (ちなみに、次に例に出す ruby のバージョンは、32bit版を使うために1.8.7を使っている) まず、>>543 に書き込んだ通りに ruby本体 と、それに対応した starruby をDL・展開して、DOSを起動させ、 環境変数を追加して、PCを再起動させる この後、「カレントディレクトリを starrubyを展開したフォルダまで移動させる作業」 (cd C:\programming\ruby187\starruby-0.3.3-win32-ruby18) ・・・が必要だったが、これを怠っていた為に install.rb の中の「Dir.glob 〜 end」命令が上手く働いていなかったようだ 分かってしまえば簡単・単純なミスだが、最初は全く思いつけなかった お騒がせしてしまって申し訳ない ともあれ、何とか正常にインストールする事に成功した ありがとう、この板の皆の適切なアドバイスのおかげだ またどうしても分からない事があった出てきた時は、よろしく頼む
554 名前:名前は開発中のものです。 mailto:sage [2010/06/26(土) 21:44:01 ID:+RqvD318] おつかれさま。 StarRubyをいじってゆっくりじっくり遊ぶといいよ。
555 名前:名前は開発中のものです。 mailto:sage [2010/07/05(月) 13:15:13 ID:McBHvfXL] >>528-530 マルチプラットフォーム狙いじゃなくてバリバリ3Dじゃないなら(バリ3DをそもそもRubyでやるのか?はおいておいてだな) DXライブラリ使えるならいい案だな。 国内の同人ゲームでよくつかわれているみたいで情報も多いし。 C#用のライブラリってどんなのかと思ったら、 元がC言語で他の言語でも使えるようにDLL化してあるからRubyからも使えるってことかー。
556 名前:名前は開発中のものです。 mailto:sage [2010/07/05(月) 13:58:30 ID:quyLdWxB] .NET専用にC++/CLIで書きなおした、とかじゃないからね 汎用に使えるね。
557 名前:名前は開発中のものです。 mailto:sage [2010/07/17(土) 23:46:14 ID:Dnvbzl3f] コチラで聞けと言われたので参りました。質問です! Rubyでゲーム作れるって聞いたので ttp://jp.rubyist.net/magazine/?0018-GameProgramingForRubySDLのサイトのリンク先でsource of Ruby/SDL 1.3.0というのが見つからなかったのでrubysdl-win32-binの1.3.0をダウンロードしてprogrum file内にインストールしたRuby1.8の下にフォルダを作って解凍しました。 回答したあとinstall_rubysdl.rbを実行したら変なメッセージが出たのですが無視してテストのウィンドウだけ出すプログラムを作ってみたらファイル名:2:in `requie' : no such file to load -- sdl (LoadError)というものが出ました。 どうしたらウインドウを出す様に出来るのでしょうか。ちなみに変なメッセージはこんな感じでした。 mkdir -p C:/Program Files/ruby-1.8/bin mkdir -p C:/Program Files/ruby-1.8/lib/ruby/site_ruby/1.8 mkdir -p C:/Program Files/ruby-1.8/lib/ruby/site_ruby/1.8/i386-msvcrt install -c dll/jpeg.dll C:/Program Files/ruby-1.8/bin C:/Program Files/ruby-1.8/lib/ruby/site_ruby/1.8/fileutils.rb:1264:in `initialize': Permission denied - C:/Program Files/ruby-1.8/bin/jpeg.dll (Errno::EACCES) from C:/Program Files/ruby-1.8/lib/ruby/1.8/fileutils.rb:1264:in `open' from C:/Program Files/ruby-1.8/lib/ruby/1.8/fileutils.rb:1264:in `copy_file' from C:/Program Files/ruby-1.8/lib/ruby/1.8/fileutils.rb:1263:in `open' from C:/Program Files/ruby-1.8/lib/ruby/1.8/fileutils.rb:1264:in `copy_file' from C:/Program Files/ruby-1.8/lib/ruby/1.8/fileutils.rb:464:in `copy_file' from C:/Program Files/ruby-1.8/lib/ruby/1.8/fileutils.rb:845:in `insrall' from C:/Program Files/ruby-1.8/lib/ruby/1.8/fileutils.rb:1397:in `fu_each_src_dest' from C:/Program Files/ruby-1.8/lib/ruby/1.8/fileutils.rb:1411:in `fu_each_src_dest0' from C:/Program Files/ruby-1.8/lib/ruby/1.8/fileutils.rb:1395:in `fu_each_src_dest' from C:/Program Files/ruby-1.8/lib/ruby/1.8/fileutils.rb:841:in `insrall' from C:/Program Files/ruby-1.8/rubysdl-1.3.0-mswin32-1.8.5-p12/install_rubysdl.rb:26
558 名前:つづき mailto:sage [2010/07/17(土) 23:47:25 ID:Dnvbzl3f] from C:/Program Files/ruby-1.8/rubysdl-1.3.0-mswin32-1.8.5-p12/install_rubysdl.rb:26:in `globe' from C:/Program Files/ruby-1.8/rubysdl-1.3.0-mswin32-1.8.5-p12/install_rubysdl.rb:26 以上です。宜しくお願いします。
559 名前:名前は開発中のものです。 mailto:sage [2010/07/18(日) 11:53:06 ID:6fMtGEk6] あっちでも書いたが、C:/Program Files/ruby-1.8/binが管理者じゃないと書き込み権限がないとかだろ。
560 名前:名前は開発中のものです。 mailto:sage [2010/07/18(日) 12:28:32 ID:ic6NNUQZ] Rubyのインストール先をProgramFiles以外にすればいいんじゃね?
561 名前:名前は開発中のものです。 mailto:sage [2010/07/18(日) 14:18:58 ID:WsCVWUVt] >>559 ,>>560 Dドライブにインストールしなおしたら出来ました! ありがとうございます!