我正在学习使用 Ruby 和 Gosu 的基本游戏编程。我已经从 RubyGems 安装了 Gosu,它目前位于/usr/local/lib/ruby/gems/1.9.1/gems/
.
完整路径是/usr/local/lib/ruby/gems/1.9.1/gems/gosu-0.7.24-universal-darwin/
.
当我处理我的游戏脚本时,我可以使用终端命令很好地执行该文件ruby game.rb
。但是,当我在 TextMate 中编辑脚本并尝试使用 command-R 执行脚本时,会出现标准执行窗口,但什么也不做,除了一个旋转的进度指示器。
我已经将所有者更改gosu-9.7.24-universal-darwin/
为自己,甚至尝试更改整个ruby/
目录的所有者(/usr/local/lib/ruby/
),但无济于事。
我在 TextMate 中使用标准的 Ruby 包。
这是我尝试运行的脚本,但在任何示例脚本上都会发生相同的事件:
require "rubygems"
require "gosu"
class GameWindow < Gosu::Window
def initialize
super(640,360, false)
self.caption = "Gosu Tutorial Game"
end
def update
end
def draw
end
def button_down(id)
if id == Gosu::KbEscape
close
end
end
end
window = GameWindow.new
window.show
更新
在 Greg 的建议下,我安装了RVM并为 Ruby 1.9.2-p0 和 Gosu 设置了一个 gemset。我设置了 TextMate 集成,但在尝试在 TextMate 中执行我的脚本时,我仍然得到了永无止境的进度微调器。run
TextMate 的 Ruby 包中的命令显示如下:
#!/bin/sh
export RUBYLIB="$TM_BUNDLE_SUPPORT/RubyMate${RUBYLIB:+:$RUBYLIB}"
/usr/bin/env ruby -KU -- "$TM_BUNDLE_SUPPORT/RubyMate/run_script.rb"
也许这里需要改变一些东西?
更新 2
在我的 TextMate 的“Shell 变量”首选项面板中,TM_RUBY
设置为/Users/michael/.rvm/bin/rvm-auto-ruby
并PATH
设置为/Users/michael/.rvm/gems/ruby-1.9.2-p0@gosu/bin:/Users/michael/.rvm/gems/ruby-1.9.2-p0@global/bin:/Users/michael/.rvm/rubies/ruby-1.9.2-p0/bin:/Users/michael/.rvm/bin:/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin
.