本記事について
Turbowarpのカスタム拡張機能をる方法の説明の一部として、拡張機能の定義の例を補足します。
拡張機能の定義の例
const MyExtensionInfo = {
id : "MYEXTENSION", // ※1
name : "独自拡張練習", // ※2
color1 : '#000000', // ※3
color2 : '#ffffff', // ※4
color3 : '#0000ff', // ※5
blocks : [
{
opcode : 'block01', // ※6
blockType : Scratch.BlockType.COMMAND, // ※7
text : '[GEAR_IMAGE] ブロック01', // ※8
arguments: {
GEAR_IMAGE : {
type: Scratch.ArgumentType.IMAGE,
dataURI: GEAR_IMAGE_SVG_URI,
},
},
},
{
opcode : 'block02',
blockType : Scratch.BlockType.COMMAND,
text : '[GEAR_IMAGE] ブロック02 [TEXT]',
arguments: {
GEAR_IMAGE : {
type: Scratch.ArgumentType.IMAGE,
dataURI: GEAR_IMAGE_SVG_URI,
},
TEXT : { ※ 9
type: Scratch.ArgumentType.STRING, ※ 10
defaultValue: 'あいうえお', ※ 11
},
},
},
],
}
定義の説明
※1 拡張機能のID
他の拡張機能IDと被ってはいけない。
※2 拡張機能の表示名称
わかりやすい名称をつけましょう。日本語でも OKです
あまり長すぎる名前は読みにくくなるので適度に短くしましょう
※3 ブロック色
文字色は固定で白(#ffffff)であるため、ブロック色を白にすると文字が読めなくなることに留意しましょう。
※4 ブロックリストの円周線の色
※5 ブロックの周囲の線の色
※6 定義するブロックに対応したメソッドの名前
メソッドは ※12にて定義しています
ブロックを実行すると、ここで書かれたメソッドを実行します
※7 定義するブロックの種類です。種類には次のものがあります
- Scratch.BlockType.COMMAND : ひとつの処理を実行します。戻り値はありません
- Scratch.BlockType.REPORTER : 値を取り出すブロックです
- Scratch.BlockType.BOOLEAN : 値を取り出すブロックで、真偽値に特化しています
- その他省略
※8 ブロック内に表示するテキストです。
[ ] で囲まれた部分は ブロック内に現れる引数を表現しています。
引数は ※9に対応づけて定義する必要があります。
※9 引数をMap形式で定義します。Mapのキーは、※8 の [ ] と対応づける必要があります。
ここ(※8/※9)で定義した引数は メソッドの実行時に 第一引数(一般的にargs)として渡されます。
※10 引数の種類です。種類には次のものがあります。
- Scratch.ArgumentType.STRING : 文字列です
- Scratch.ArgumentType.NUMBER : 数字です
- Scratch.ArgumentType.BOOLEAN : 真偽値です
- Scratch.ArgumentType.ANGLE : 角度です(角度を選べる時計風のメニューを表示します)
- Scratch.ArgumentType.COLOR : 色です ( 色を指定するメニューを表示します )
- その他省略
※11 引数の初期値としてブロックに表示される値です。
続き
次の記事【3】へ続きます。