ruby-processingで遊んでみた
せっかくRubyをやり始めたのに、Ruby on Railsだけしかやらないなんてつまらない。
なので、昔、ちょっとだけ触ったことのあるruby-processingをやってみようと思います。
一番簡単な方法としては
gem install ruby-processing
があるらしい。でも、インストールできないことはないけど、古い状態のものになってしまうみたい。Processingは2.0以降からかなり使いやすくなってるので、どうせだったら、最新版を入れたいので、gitで持ってくる方法を試してみた。
ruby-processingをもっと知って更なるイケメンになろう
前準備
必要なコマンド群が揃ってるか確かめる。必要なのは
- java
- ruby
- gem
- rake
- wget
- git
なかったら適当にbrewとかでインストールしたらいいと思います。
Processingのインストール
Processing公式サイトから最新版をダウンロードしてアプリケーションフォルダにぶち込んでおきましょう。
JRubyのインストール
ProcessingはJavaでつくられているため、それとRubyを結合するのに、JRubyが必要になります。(実際はruby-processingにJRubyが同梱されていて、この手順は必要ないらしいですが一応)
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
source ~/.bash_profile
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
rbenv install -l | grep jruby
これで最新バージョンっぽいのを見つけて
rbenv install jruby-1.7.9
rbenv rehash
rbenv global jruby-1.7.9
とかすればOKです。
この処理は時間がかかるので、気長に待ちましょう。
ソースコードのダウンロード
何はともあれとりあえずダウンロード!
適当なフォルダに移動してダウンロードしましょう。今回は~/sandboxで作業したいと思います。
cd ~/sandbox
git clone https://github.com/jashkenas/ruby-processing.git
ruby-processingのインストール
ダウンロードできたら、ダウンロードしたフォルダに移動して、コンパイルしましょう。
cd ruby-processing
rake
これでいけるはず!・・・だったのですが、エラー出た。
WARNING: you need to set PROCESSING_ROOT in ~/.rp5rc
エラーですが、これはRSpec(Rubyのテストツール)のエラーでとりあえず、無視してもいいみたいです。
でもエラーを残しておくと気持ち悪いので、
echo 'PROCESSING_ROOT: "/Applications/Processing.app/Contents/Java"' > ~/.rp5rc
として、もう一回rake
を叩いておきましょう。このときの/Applicationsは自分がProcessingをインストールしたパスに変えてください
フォルダ内を確認するとruby-processing-2.4.4.gemみたいなのができてると思います。これで
gem install ruby-processing-2.4.4.gem
としてみる。
インストールが完了したら
rbenv rehash
を忘れずに。(rbenvを使ってrubyやらなんやらをインストールしてる場合)
rp5 -v
としてバージョンが表示されれば、インストールは終わっているはず!
実際に動かしてみる
例によって作業フォルダは~/sandbox/ruby-processing-test
mkdir ~/sandbox/ruby-processing-test
cd ~/sandbox/ruby-processing-test
touch test-sketch.rb
このtest-sketch.rbに以下のコードを書いてみましょう。
def setup
@counter = 0.0
size 640, 480
end
def draw
backgroun 0
noStroke
fill 255, 0, 0
x = width/2 + 200 * cos(@counter)
y = height/2 + 200 * sin(@counter)
ellipse x, y, 50, 50
@counter += 0.1
end
うん、いい感じにRubyっぽい。
あとは
rp5 run test-sketch.rb
として実行して、うまく言ったらこんな画面が出てくるはず!
やったね!