提供: Japanese Scratch-Wiki

拡張機能から転送)

このきじは ひらがなのページがありません。ごめんなさい。

テンプレート:保護/check エラー: 編集保護が誤って指定されています。

テンプレート:保護/check エラー: 移動保護が誤って指定されています。

注目の記事.png この記事は2020年11月の注目の記事です。
拡張機能たち

拡張機能は、Scratch 3.0の機能のひとつで、ブロックを追加してScratchのプログラムを拡張するものである。拡張機能自体はScratch 2.0にも存在したが、3.0のバージョンではより使いやすいものとなっている。拡張機能は、拡張機能ライブラリーから選択できる。

一度読み込まれた拡張機能を除去するには、拡張機能のブロックを全部削除してプロジェクトを保存し、F5キーで再度読み込む。(Scratch 3 アプリでは、一度終了し再度開く。)

種類

拡張機能は、内部の仕組みから以下の2つに分類できる:

  • サンドボックス化されていない拡張機能: 現在拡張機能ライブラリーから追加できる拡張機能。
  • サンドボックス化された拡張機能: 公式には読み込み手段は存在しないが、modをすると読み込める。Web Workerを利用してサンドボックス化できる。

また、拡張機能の内容から、以下のようにも分類できる。

  • 外部機器を扱う拡張機能: micro:bit、Makey Makeyなど
  • APIを扱う拡張機能: 翻訳、音声合成
  • Scratch 2.0に存在したブロックを扱う拡張機能: ペン、音楽など

さらに、Scratchチームが作成した「公式」の拡張機能とmod等で追加された「非公式」の拡張機能という区分もできる。

一覧

公式には、以下の拡張機能がある。

拡張機能に関する誤解や騒動

  • ペンブロックや音楽関係ブロックの拡張機能化に伴い、そのブロックが廃止されたと誤解した人がいた。
  • Scratch デスクトップのバージョン3.14.0以前では、パソコン上にて、Bluetooth接続を行う拡張機能は、Scratch デスクトップであってもネットワーク接続も必要とした。よって、完全オフラインではBluetooth機器を扱えなかった。バージョン3.14.0以降では、Scratch デスクトップ上ではそのような拡張機能の使用にはインターネット接続は不要となった。
  • Scratchのバグにより、開発中でライブラリーに追加されていない「音声認識拡張機能」が本番環境で使用できた時期があった。これは、JSONをハッキングして「読み込む拡張機能」の部分にspeech2textを追加することで行える。現在バグは修正され、また音声認識拡張機能を含んだプロジェクトは削除/非共有になった。
  • Scratchの脆弱性、CVE-2020-14000は、拡張機能の自動読み込みに関連している。

実装

詳細は「拡張機能の実装 (3.0)」を参照
詳細は「Scratch 3.0の拡張機能を作ってみよう」を参照

拡張機能はほかのブロックと異なり、scratch-vmで定義されている。ライブラリー項目はscratch-guiで定義されている。