make-toolbox-xml是scratch-gui中blocks的xml組織文件,我們平常看到的左側區域的運動,外觀,事件等類,和類中的塊都是由它生成的。
一個motion類的生成
一個類的xml是由category元素包裹着的,由若干個block子元素組成的集合。
<category name="運動" id="motion" colour="#4C97FF" secondaryColour="#3373CC">
<block type="motion_turnright">
<value name="DEGREES">
<shadow type="math_number">
<field name="NUM">15</field>
</shadow>
</value>
</block>
<block type="motion_turnleft">
<value name="DEGREES">
<shadow type="math_number">
<field name="NUM">15</field>
</shadow>
</value>
</block>
</category>
category的屬性:
- name 類的名稱
- id 類的id
- color 設置類icon的填充色,相當於background-color,
- secondaryColour 設置類icon的邊框色,相當於border-color
block的屬性
- id block的id;
- type block的類型,定義了塊的語句,形狀,參數名,具體請看博文《scratch3.0二次開發之scratch-blocks中的blocks的類型、定義和使用方法》
value的屬性
這個在block定義中設置arg參數類型爲“input_value"時纔有效
- name 參數名,vm的blocks在定義函數的時候,或在生成代碼的時候會用到參數。
shadow的屬性
shadow是輸出值的塊,它塊的定義和moton這些類不一樣,裏面有個output屬性來決定是輸出number,還是string,outputShape決定了塊的形狀。
- type 輸出塊的類型,
field 的屬性
設置默認值
- name 設置參數名