僕は発展途上技術者

Scratch 3.0 の Extension(拡張機能) を試してみた

Scratchには、外部のプログラムと通信したり、独自のブロックを自分で実装でき、機能を拡張できる仕組みが備わっています。

このブログでも Scratch 1.4 での方法、および Scratch 2.0 を拡張した ScratchX を使った方法を過去に紹介している。

» Scratch(スクラッチ)を外部のプログラムなどとつなぐ「遠隔センサー接続」を解説する(その1)

» スクラッチャーのためのScratchX入門 - その1 ScratchXとは?

Scratch 3.0 はまだリリースされていないが、GitHub 上でソースコードが公開されているため様々な開発者が独自に拡張したバージョンを公開している。

Scratch のフォーラムを見ていたら、3.0の拡張機能にあたるExtensionのスクリプトを簡単に試せるバージョンが公開されていたので、3.0の Extension を試してみました。

参考: Discussion Forums » Developing Scratch Extensions » Creating extensions for Scratch 3.0

なお、この情報はScratch3.0のアンオフィシャルな情報なので、試す場合は自己責任でお願いします。

まず、Extension のスクリプト(JavaScript で作ります)をローカルでも構わないのでWebサーバー上で動かす必要があります。

以下の簡単なテスト用のスクリプトをローカルに保存し、

例えばNode.jsのhttp-serverを起動します。

$ http-server

これで、先のスクリプトは http://localhost:8080/test.js でアクセスできるようになります。

Scratch ID Sheep_makerという方が用意してくれている Extension を読み込むことができる Scratch 3.0 にアクセスします。

» https://sheeptester.github.io/scratch-gui/

起動して、最初の確認画面で「試す」をクリックしたあと、左下のフォルダに + マークがついたアイコンをクリックして「拡張機能を選ぶ」の画面を開きます。

「拡張機能を選ぶ」の画面では、「Choose an extension」を選び、拡張機能のスクリプトのURL、つまり http://localhost:8080/test.js を入力してOKを選びます。

拡張機能のスクリプトが読み込まれ、新たに Test というカテゴリ(緑色の丸いアイコン)が追加されます。Test を選ぶと hello というブロックがあるのがわかります。

hello は実行されると console ログに hello と出力するブロックです。スペースをクリックしたら hello と出力するようなスクリプトを組んで、テストしてみましょう。

Scratch 3.0 Extensions の仕様は、Scratch 3.0 Extensions Specificationで公開されています。

ScratchX の拡張機能の仕様と似てはいますが、細かな違いがあります。拡張機能を読み込めるようにしたこのバージョンは公式なものではありませんが、上記仕様に従ったスクリプトが動くので、今後リリースされる Scratch 3.0 に対応したスクリプトをあらかじめテストしておくために活用できると思います。

Scratchで楽しく学ぶ アート&サイエンス
石原 淳也
日経BP社
売り上げランキング: 11,183

プロフィール

株式会社まちクエスト代表、つくる社LLC代表。

Scratchで楽しく学ぶ アート&サイエンスRaspberry Piではじめる どきどきプログラミングを書きました。

オンラインコンテンツ: 大人のためのScratch

Amazonから図書館検索 Libron、iPhoneアプリ ひらがなゲーム かなぶん を作っています。

Email: webmaster at champierre dot com

Twitter @jishiha

最近のエントリー

アーカイブ