| 塊 | 形狀名稱(chēng) |
|---|---|
![]() |
shape_statement |
![]() |
shape_hat |
![]() |
shape_end |
![]() |
shape_statement |
![]() |
output_boolean |
![]() |
output_number |
![]() |
output_string |
一個(gè)blocks塊的定義
比如一個(gè)右轉(zhuǎn)多少度的塊

定義塊的代碼:
Blockly.Blocks['motion_turnright'] = {
/**
* Block to turn right.
* @this Blockly.Block
*/
init: function() {
this.jsonInit({
"message0": “右轉(zhuǎn) %1 %2 度”,
"args0": [
{
"type": "field_image",
"src": Blockly.mainWorkspace.options.pathToMedia + "rotate-right.svg",
"width": 24,
"height": 24
},
{
"type": "input_value",
"name": "DEGREES"
}
],
"category": Blockly.Categories.motion,//塊歸屬的類(lèi),這里是運(yùn)動(dòng)類(lèi)。
"extensions": ["colours_motion", "shape_statement"]
});
}
};
“message0“:表示塊里顯示的字符串,%1,%2表示塊里的字段field,塊里有1個(gè)field是%1,有兩個(gè)field是按先后順序設(shè)為%1,%2,以此類(lèi)推,
”args0”:里面的數(shù)組元素對(duì)應(yīng)上面設(shè)置的field,args0[0]對(duì)應(yīng)%1,args0[1]對(duì)應(yīng)%2,…。每個(gè)元素對(duì)象表示設(shè)置了的field的類(lèi)型。

“extensions”:"colours_motion"設(shè)置塊的顏色,"shape_statement"設(shè)置了塊的形狀;
定義好的block塊,使用的時(shí)候要把加到xml文件里,文件地址:scratch-gui\src\lib\make-toolbox-xml.js,找到對(duì)應(yīng)的類(lèi),這里是motion.
block type="motion_turnright">
value name="DEGREES">
shadow type="math_number">
field name="NUM">15/field>
/shadow>
/value>
/block>
motion_turnright 這是剛定義好的塊。value 標(biāo)簽中的name,表示變量名,在scratch-vm里面會(huì)用到,shadow標(biāo)簽這段表示預(yù)先設(shè)置的值,也是預(yù)先設(shè)置的塊。去掉value這段代碼
block type="motion_turnright"> /block>
它顯示成這樣:

scratch-blocks修改后的文件,只有編譯壓縮后才能生效。但是按照官方的方法,windows下很難編譯成功。如果是定義blocks塊,可以參考上篇博客里介紹的方法《scratch3.0二次開(kāi)發(fā)之scratch-blocks的免編譯修改方法》
下面看下scratch3.0二次開(kāi)發(fā)之blocks生成代碼思路
總的思路:
到此這篇關(guān)于scratch3.0二次開(kāi)發(fā)之scratch-blocks的免編譯修改方法的文章就介紹到這了,更多相關(guān)scratch blocks的免編譯內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
標(biāo)簽:鄂爾多斯 雙鴨山 莆田 丹東 襄陽(yáng) 遵義 哈爾濱 錫林郭勒盟
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解scratch3.0二次開(kāi)發(fā)之scratch-blocks中的blocks的類(lèi)型、定義和使用方法》,本文關(guān)鍵詞 詳解,scratch3.0,二次,開(kāi),發(fā)之,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。