提供: Japanese Scratch-Wiki
< Scratch 3.0の拡張機能を作ってみよう | 応用
じぶんのかくちょうきのうはできたかな。いかはおうようへんだ。
じりきでチャレンジ
- おおもじこもじをくべつするイコールのしんぎブロック
- るいじょう
ウェブサイトのじょうほうをしゅとくする
get [URL]というなまえのあたいブロックをつくってみよう。URLはもじれつだ。オペコードは「ajaxRequest」とする。ブロックていぎはまえのチュートリアルをさんこうにしてほしいので、ここにはかかない。 これにはひとつライブラリをしようするひつようがある。いかをついかする。
const nets = require('nets');では、リクエストぶをかいてみよう。
ajaxRequest (args){
const ajaxPromise = new Promise(resolve => {
nets({
url: Cast.toString(args.URL)
}, function(err, res, body){
resolve(body);
return body;
});
});
return ajaxPromise;
}netsは、XMLHttpRequestようのライブラリとおもえばいい。また、にたコードがほんやくかくちょうきのうにもある。みてみよう。
げんざいのミリびょう
げんざいのミリびょうはnew Date().getMilliseconds()でしゅとくできる。げんざいのミリびょうをかえすブロックをつくってみよう。
() とき
ハットブロックをつくってみよう。ハットブロックは、じょうけんによってじっこうされるものと、かんすうのよびだしによってじっこうされるものがある。じょうけんくどうがたのハットブロックをつくるには、かんすうのかえりちにtrue/falseをしていし、またgetInfoないでisEdgeActivated: trueとかく。いかはしていしたじょうけんがととのったときにじっこうするハットブロックのコードである:
whenCondition (args) {
return Cast.toBoolean(args.CONDITION);
}getInfoがわ:
{
opcode: "whenCondition",
blockType: BlockType.HAT,
text: "when [CONDITION]",
arguments: {
CONDITION: {
type: ArgumentType.BOOLEAN,
defaultValue: false
}
},
isEdgeActivated: true
}いっぽう、かんすうのよびだしによってじっこうされるハットブロックをつくるばあいは、コードないはなにもかかない。そのかわり、よびだすときにいかのようなコードをつかう:
block (args, util) {
// とあるブロックのどうさ
util.startHats("hatBlockOpcode");
}
JSONをよみこむ
Scratchには、XMLなどのマークアップげんご/データきじゅつげんごをひょうじゅんでよみこむきのうがない。ここでは、JSONをよみこむきのうをつくる。「[JSONDATA]をよんで[KEY]をかえす」だ。
たとえば、{"hoge":[1, 4, 9], "fuga": "PiYo"}というデータできーを「fuga」にすると、PiYoがかえる。hogeをしていすると、[1, 4, 9]というデータがかえる。もういっかいこのブロックにとおし、キーをすうちにすれば、はいれつのなかのさんしょうができる。したのコードをさんこうにしてほしい。
parseJSON (args) {
let j = JSON.parse(Cast.toString(args.JSONDATA));
// いちぶのひきすうでのバグをぼうしするため。
j = Object.assign(Object.create(null), j);
const val = j[Cast.toString(args.KEY)];
if (typeof val == "object") {
return JSON.stringify(val);
} else {
return val;
}
}