雜項 API
既然 您可以編寫擴充功能,這裡有 getInfo() 和 Scratch 物件上可用的更多選項。除非另有說明,這些在沙箱和非沙箱擴充功能中都有效,並且可以自由組合。
積木顏色
color1、color2 和 color3 分別設定積木顏色、輸入顏色和選單顏色。color1 應該最亮,color3 最暗。使用十六進位制程式碼(下載):
getInfo() {
return {
id: 'colorexample',
name: 'Color Example',
color1: '#ff0000',
color2: '#00ff00',
color3: '#0000ff',
blocks: [ /* ... */ ]
};
}
替代積木顏色模式(高對比度、深色和外掛預設)會自動從這些值生成。
docsURI
docsURI 在擴充功能積木列表的頂部新增一個開啟文件頁面的按鈕:
getInfo() {
return {
id: 'hellodocs',
name: 'Hello Docs!',
docsURI: 'https://example.com/my-extension-docs',
blocks: [ /* ... */ ]
};
}
disableMonitor
Bilup 自動為任何無輸入的 REPORTER 積木(並且與 Scratch 不同,BOOLEAN 積木也是)提供一個監視器核取方塊。在積木上設定 disableMonitor: true 來隱藏該核取 方塊(下載)。注意這不會移除有人用擴充功能舊版本建立的監視器。
Scratch.Cast
Scratch 有自己的型別轉換和比較規則,帶有許多怪癖。與其重新發明它們,不如使用 Scratch.Cast(下載):
toNumber({INPUT}) { return Scratch.Cast.toNumber(INPUT); }
castToString({INPUT}) { return Scratch.Cast.toString(INPUT); }
toBoolean({INPUT}) { return Scratch.Cast.toBoolean(INPUT); }
compare({A, B}) {
const c = Scratch.Cast.compare(A, B);
// 使用 < 0、> 0 或 === 0。不要使用 === 1 或 === -1。
if (c === 0) return 'Equal';
return c > 0 ? 'A is greater' : 'B is greater';
}