2020年1月14日火曜日

Scratch + Ruby = smalruby3 を試してみた

概要

smalruby は Scratch の開発を Ruby でできるプロジェクトです
今回は開発環境の準備から簡単なサンプルを動作させるところまでやってみました

環境

  • macOS 10.15.2
  • Ruby 2.6.2p47
    • smalruby3 0.1.11
  • nodejs 10.1.0
    • npm 6.13.6

環境を準備する

Scratch ベースなので基本的には GUI 上で進めます
ブラウザ上で動作する Web 版からデスクトップアプリとして動作するデスクトップ版を使うことになります

Web 版を使う

http://smalruby.jp/smalruby3-gui/ にアクセスすれば何も準備する必要なく初められます

git clone して localhost で起動する

「Compiled successfully」と表示されれば起動完了です
http://localhost:8601 にアクセスすれば Web 版と同じ環境が localhost 上で起動します

デスクトップ版を使う

ビルドが成功すれば GUI アプリケーションが立ち上がるはずですが macOS Catalina だとまだ対応していないのか GUI が起動しませんでした

試してみる

以下のコードを GUI のルビータグに貼り付けて実行してみましょう

self.when(:flag_clicked) do
  move(200)
  turn_right(180)
end

あとは緑の旗をクリックすれば動作します

おまけ: CUI 上だけで開発する

smalruby3 という gem が公開されておりこれを使えば CUI だけでも開発できるようです
sdl と sge というグラフィクス関係のライブラリが必要なので Homebrew でインストールします
sge だけ formula にないので野良のスクリプトからインストールします
結構たくさんの野良スクリプトがありますが自分は以下のスクリプトでインストールできました

  • brew install sdl sdl_image sdl_mixer sdl_ttf
  • brew install https://gist.githubusercontent.com/ymmtmdk/5b15f2b06aef5549eb5a/raw/ebf4c9758b1f772f0f6073e7b2bdbb5e9665ee74/libsge.rb
  • bundle init
  • vim Gemfile
gem "smalruby3"
  • bundle install --path vendor
  • vim app.rb
# coding: utf-8
require "smalruby3"

Stage.new("Stage",
          costumes: [
            {
              asset_id: "cd21514d0531fdffb22204e0ec5ed84a",
              name: "背景1",
              bitmap_resolution: 1,
              data_format: "svg",
              rotation_center_x: 0,
              rotation_center_y: 0
            }
          ],
          variables: [
            {
              name: "val1"
            },
            {
              name: "speed",
              value: "10"
            }
          ]) do
end
  • bundle exec ruby app.rb

最後に

smalruby を試してみました
Web 版もあるので導入は簡単だと思います
というかデスクトップ版と CUI は不安定な感じなので Web 版を使いましょう
まだギャラリー的な仕組みなどはないようです

Ruby を初めて使う人向けではない気がしますが Scratch を Ruby で動かしたい人には便利かなと思います

参考サイト

0 件のコメント:

コメントを投稿