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 に対応したスクリプトをあらかじめテストしておくために活用できると思います。
日経BP社
売り上げランキング: 11,183
2018/07/14 09:00:00