提供: Japanese Scratch-Wiki

1行目: 1行目:
{{ひらがなヘッダ}}[[ファイル:{{#setmainimage:3.0開発者版 拡張機能.png}}|thumb|right|380px|拡張機能たち]]
+
{{ひらがなヘッダ}}
 +
[[ファイル:{{#setmainimage:3.0開発者版 拡張機能.png}}|thumb|right|380px|拡張機能たち]]
 
'''拡張機能'''は、[[Scratch 3.0]]の機能のひとつで、ブロックを追加してScratchのプログラムを拡張するものである。拡張機能自体は[[Scratch 2.0]]にも存在したが、3.0のバージョンではより使いやすいものとなっている。拡張機能は、[[ライブラリー (3.0)|拡張機能ライブラリー]]から選択できる。
 
'''拡張機能'''は、[[Scratch 3.0]]の機能のひとつで、ブロックを追加してScratchのプログラムを拡張するものである。拡張機能自体は[[Scratch 2.0]]にも存在したが、3.0のバージョンではより使いやすいものとなっている。拡張機能は、[[ライブラリー (3.0)|拡張機能ライブラリー]]から選択できる。
 +
 +
一度読み込まれた拡張機能を除去するには、拡張機能のブロックを全部削除してプロジェクトを保存し、{{キー押下|F5}}キーで再度読み込む。([[Scratch デスクトップ]]では、一度終了し再度開く。)
 +
 +
== 種類 ==
 +
拡張機能は、内部の仕組みから以下の2つに分類できる:
 +
* サンドボックス化されていない拡張機能: 現在拡張機能ライブラリーから追加できる拡張機能。
 +
* サンドボックス化された拡張機能: 公式には読み込み手段は存在しないが、[[mod版Scratch|mod]]をすると読み込める。Web Workerを利用してサンドボックス化できる。
 +
 +
また、拡張機能の内容から、以下のようにも分類できる。
 +
* 外部機器を扱う拡張機能: micro:bit、Makey Makeyなど
 +
* APIを扱う拡張機能: 翻訳、音声合成
 +
* Scratch 2.0に存在したブロックを扱う拡張機能: ペン、音楽など
 +
 +
さらに、Scratchチームが作成した「公式」の拡張機能とmod等で追加された「非公式」の拡張機能という区分もできる。
  
 
== 一覧 ==
 
== 一覧 ==
20行目: 35行目:
 
* パソコン上にて、Bluetooth接続を行う拡張機能は、[[Scratch デスクトップ]]であってもネットワーク接続も必要とする。よって、完全オフラインではBluetooth機器を扱えない。
 
* パソコン上にて、Bluetooth接続を行う拡張機能は、[[Scratch デスクトップ]]であってもネットワーク接続も必要とする。よって、完全オフラインではBluetooth機器を扱えない。
 
* Scratchのバグにより、開発中でライブラリーに追加されていない「音声認識拡張機能」が本番環境で使用できた時期があった。これは、JSONをハッキングして「読み込む拡張機能」の部分に<code>speech2text</code>を追加することで行える。現在バグは修正され、また音声認識拡張機能を含んだプロジェクトは削除/非共有になった。
 
* Scratchのバグにより、開発中でライブラリーに追加されていない「音声認識拡張機能」が本番環境で使用できた時期があった。これは、JSONをハッキングして「読み込む拡張機能」の部分に<code>speech2text</code>を追加することで行える。現在バグは修正され、また音声認識拡張機能を含んだプロジェクトは削除/非共有になった。
 +
* Scratchの脆弱性、[[CVE-2020-14000]]は、拡張機能の自動読み込みに関連している。
  
 
== 実装 ==
 
== 実装 ==

2020年8月3日 (月) 09:17時点における版

このきじは ひらがなのページがありません。ごめんなさい。
拡張機能たち

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

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

種類

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

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

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

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

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

一覧

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

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

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

実装

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

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