提供: 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;  
 }  
}

Cookieは私達のサービスを提供するのに役立ちます。このサービスを使用することにより、お客様はCookieの使用に同意するものとします。