とりあえず使う
http://ngrok.com/ アクセスして諸々設定済ませて,
$ git clone https://github.com/mactkg/scratchx-template.git your-ext $ cd your-ext $ npm install $ gulp
これだけでとりあえず動くScratchXのextensionが作れます.
src/ext.js
の中に関数を宣言していけばよいです.ScratchXの名前とか,ブロックと関数のひも付けはdata.jsonで行います.data.jsonにとりあえずブロックの枠組みを書いて,src/ext.js
にとりあえずconsole.log吐く関数を作ってしまえば,あとは実装するだけという雰囲気になります.
ブロックの種類は,blocksの一番最初の配列で設定します.この辺りを参考にされると良いかと思います. https://github.com/LLK/scratchx/wiki#blocks
L10N
いろいろな人に使ってもらうにはlocalizatuionが重要です.日本語のみで実装しないようにせず,できれば英語がデフォルトとなっており,日本語に切り替えて使えるという仕組みにしたいものですよね.
このテンプレートではL10Nが可能です.descriptorにはen
とかja
とかありますが,QueryStringの lang
の値でどちらのブロック定義が読み込まれるか決まります.
デフォルトの値はenに設定されていますが,切り替えることもできます.場合に応じて活用してください. https://github.com/mactkg/scratchx-template/blob/master/src/index.js#L9
作例
scratchx-pointerlock
mactkg/scratchx-pointerlock · GitHub
PointerLockAPIを使ってマウスカーソルを隠す拡張です.FPSのようなゲームを作成したい場合に便利ではないでしょうか.
scratchx-ifttt
ScratchXとIFTTTのMaker Channelをつなげてしまった恐ろしい拡張です.家の家電機器を操作したりTwitterなどと連携させることも可能です.
まとめ
ScratchXの開発を爆速で始められるテンプレート scratchx-template
を紹介しました.Node.JSに慣れている人であればすぐに開発出来ると思うので,ぜひExtensionを作っていただきたいです.次回はScratchX公式に自分の作ったアドオンをPull-Requestする記事を書きたいと思っています.
何か使い方に関して聞きたいことがあれば,Twitterの@mactkgまで気軽に連絡してください.メールであれば,mactkgのGmailに送っていただいてもよいです.

- 作者: 阿部和広
- 出版社/メーカー: 日経BP社
- 発売日: 2013/07/25
- メディア: 単行本
- この商品を含むブログ (6件) を見る