半空洞男女関係

思ったこととかプログラミングしてるときのメモとか色々かいてます。メールはidそのままgmail

ScratchXの開発を爆速で開始できるテンプレートを作りました

github.com

とりあえず使う

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

github.com

ScratchXとIFTTTのMaker Channelをつなげてしまった恐ろしい拡張です.家の家電機器を操作したりTwitterなどと連携させることも可能です.

まとめ

ScratchXの開発を爆速で始められるテンプレート scratchx-template を紹介しました.Node.JSに慣れている人であればすぐに開発出来ると思うので,ぜひExtensionを作っていただきたいです.次回はScratchX公式に自分の作ったアドオンをPull-Requestする記事を書きたいと思っています.

何か使い方に関して聞きたいことがあれば,Twitterの@mactkgまで気軽に連絡してください.メールであれば,mactkgのGmailに送っていただいてもよいです.

小学生からはじめるわくわくプログラミング

小学生からはじめるわくわくプログラミング