Blockly/CustomBlock ¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×º¹Ê¬(No.2)



  • Äɲ䵤줿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
  • ºï½ü¤µ¤ì¤¿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
[[Programing]] > [[Blockly1.0>FBlockly2017]] > ¥«¥¹¥¿¥à¥Ö¥í¥Ã¥¯¤Îºî¤êÊý
[[Programing]] > [[Blockly2017>Programing/Blockly2017]] > ¥«¥¹¥¿¥à¥Ö¥í¥Ã¥¯¤Îºî¤êÊý

title("Blockly1.0¡§¥«¥¹¥¿¥à¥Ö¥í¥Ã¥¯¤Îºî¤êÊý")
#title("Blockly1.0¡§¥«¥¹¥¿¥à¥Ö¥í¥Ã¥¯¤Îºî¤êÊý")

#ref(final.png,nolink)

#contents()

* ³µÍ× [#f08c9217]

¤³¤³¤Ç¤Ï¡¢Blockly¤Î¥Ç¥â¤ò²þÎɤ·¤Æ¡¢Íð¿ô¤òºî¤ë¥Ö¥í¥Ã¥¯¤òÄɲä·¤Þ¤¹¡£

Blockly¤Î¥Ö¥í¥Ã¥¯¤Ï¡¢Blockly¤Î¥¨¥Ç¥£¥¿UI¤Ë¤è¤ê¡¢¥É¥é¥Ã¥°¡õ¥É¥í¥Ã¥×¤Çºî¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

°ÊÁ°¤Ï¡¢¥Ö¥í¥Ã¥¯¤òºî¤Ã¤¿¸å¡¢Google Closure tools¤ÇºÆ°µ½Ì¤È¤«¤·¤Æ¤¿¤±¤É¡¢¤½¤ì¤¬ÉÔÍפʤΤǡ¢¤±¤Ã¤³¤¦´Êñ¤Ç¤¹¡£


** ¥Ç¥â¤ÎÆâÍÆ [#h771662c]

¸µ¤Ë¤Ê¤ë¥Ç¥â¤Ï¡¢Blockly¤Î¥Ç¥â¤Ë´Þ¤Þ¤ì¤ëGenerating JavaScript¤Ç¤¹¡£

-[[Blockly Demo: Generating JavaScript:https://blockly-demo.appspot.com/static/demos/generator/index.html]]

** Äɲ乤ëÆâÍÆ [#hee713c2]

¤³¤ÎToolbox¤ÎMath¥«¥Æ¥´¥ê¤Ë¡Örandom¡×¥Ö¥í¥Ã¥¯¤òÄɲä·¤Þ¤¹¡£


* ¥Ö¥í¥Ã¥¯¤òºî¤ë¼ê½ç [#f176a70c]

** ¥½¡¼¥¹¥³¡¼¥É¤ò¥À¥¦¥ó¥í¡¼¥É [#v3942239]

Blockly¤Î¥½¡¼¥¹¥³¡¼¥É¤ò¡¢¼¡¤Î¤É¤Á¤é¤«¤«¤é¥À¥¦¥ó¥í¡¼¥É¤·¤ÆŸ³«¤·¤Þ¤¹¡£

-[[Github¤«¤éClone:https://github.com/google/blockly]]
-[[ZIP¥Õ¥¡¥¤¥ë¤Î¥À¥¦¥ó¥í¡¼¥É:https://github.com/google/blockly/archive/master.zip]]


** ¥Ç¥â¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë [#x2d2441a]

Generating JavaScript¤Ï¡¢¥À¥¦¥ó¥í¡¼¥É¤·¤¿¥Õ¥¡¥¤¥ë¤Î/demos/generator¤Ë¤¢¤ê¤Þ¤¹¡£index.html¤ò³«¤¤¤Æ¡¢Æ°ºî³Îǧ¤·¤Æ¤ª¤­¤Þ¤·¤ç¤¦¡£


** ¥Ç¥â¥×¥í¥°¥é¥à¤òÊ£À½¤¹¤ë [#b367259f]

/demos/generator¥Õ¥©¥ë¥À¤ò´Ý¤´¤ÈÊ£À½¤·¤Þ¤¹¡£

¤³¤³¤Ç¤ÏÎã¤È¤·¤Æ¡¢/demos/test¤È¤·¤ÆÊ£À½¤·¤Æ¤¤¤Þ¤¹¡£


** ¥Ö¥í¥Ã¥¯¤ò¥Ç¥¶¥¤¥ó¤¹¤ë [#e7f30605]

¥Ö¥í¥Ã¥¯¤Î¥Ç¥¶¥¤¥ó¤Ï¡¢Blockly Demo¤Ë¤¢¤ë[[Blockly Developer Tools:https://blockly-demo.appspot.com/static/demos/blockfactory/index.html]]¤Ç¹Ô¤¤¤Þ¤¹¡£

+[[Blockly Developer Tools:https://blockly-demo.appspot.com/static/demos/blockfactory/index.html]]¤ò³«¤¯
+ ¡ÖBlock Factory¡×¥¿¥Ö¤ò¥¯¥ê¥Ã¥¯
+ ¼¡¿Þ¤Î¤è¤¦¤Ë¥Ö¥í¥Ã¥¯¤òÁȤ߹ç¤ï¤»¤ë
+ ¡ÖSave "¡¦¡¦¡¦¡¦"¡×¥Ü¥¿¥ó¤Þ¤¿¤Ï ¡ÖUpdate "¡¦¡¦¡¦¡¦"¡×¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯

#ref(block_factoy_s2.png,nolink)

Êݸ¤·¤¿¥³¡¼¥É¤Ï¡¢¥Ö¥é¥¦¥¶¤Î¥í¡¼¥«¥ë¥¹¥È¥ì¡¼¥¸¤Ë¡Ö¥é¥¤¥Ö¥é¥ê¡×¤È¤·¤ÆÊݸ¤µ¤ì¤Þ¤¹¡£

** ¥Ö¥í¥Ã¥¯¤ò¥¨¥¯¥¹¥Ý¡¼¥È¤¹¤ë [#ha2db5b3]

+¡ÖBlock Exporter¡×¥¿¥Ö¤ò¥¯¥ê¥Ã¥¯
+ º¸Â¦¤Ç¡¢¥¨¥¯¥¹¥Ý¡¼¥È¤·¤¿¤¤¥Ö¥í¥Ã¥¯¤Î¥Á¥§¥Ã¥¯¥Ü¥Ã¥¯¥¹¤ò¥ª¥ó¤Ë¤¹¤ë
+ Export Settings¤òÀßÄê
-- Block Definition(s): ¥Ö¥í¥Ã¥¯ÄêµÁ
--- Format: Javascript
--- File Name¡§(Îã)random_block.js
-- Generator Stub(s): ÊÑ´¹¥³¡¼¥É
--- Language: Javascript
--- File Name:(Îã)random.js
+¡ÖExport¡×¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¡¢²¼µ­¤Î¥Õ¥©¥ë¥À¤Ë³ÊǼ¤¹¤ë
-- ¥Ö¥í¥Ã¥¯ÄêµÁ /blocks/random_block.js
-- ÊÑ´¹¥³¡¼¥É /generators/javaScript/random.js


#ref(block_expoter_s.png,nolink)

** random.js¤ËÊÑ´¹¥³¡¼¥É¤òÄɲ乤ë [#kc1a1548]

random.js¤òÊÔ½¸¤·¤Æ¡¢¥Ö¥í¥Ã¥¯¤«¤éÊÑ´¹¤¹¤ë¥³¡¼¥É¤òµ­½Ò¤·¤Þ¤¹(5¹ÔÌÜ)¡£

 Blockly.JavaScript['random'] = function(block) {
   var value_min = Blockly.JavaScript.valueToCode(block, 'min', Blockly.JavaScript.ORDER_ATOMIC);
   var value_man = Blockly.JavaScript.valueToCode(block, 'man', Blockly.JavaScript.ORDER_ATOMIC);
   // TODO: Assemble JavaScript into code variable.
   var code = 'Math.floor( Math.random() * (' + value_man + ' - ' + value_min + ' + 1 )) + ' +  value_min;
   // TODO: Change ORDER_NONE to the correct strength.
   return [code, Blockly.JavaScript.ORDER_NONE];
 };


** /demos/test/index.html¤Ë¥Ö¥í¥Ã¥¯¤òÆɤ߹þ¤à [#tb02c9bb]

/demos/test/index.html¤ò³«¤¤¤Æ¡¢°Ê²¼¤Î¥¹¥¯¥ê¥×¥È¤òÆɤ߹þ¤ß¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹(6¹ÔÌܤÈ7¹ÔÌÜ)¡£

 <title>Blockly Demo: Generating JavaScript</title>
 <script src="../../blockly_compressed.js"></script>
 <script src="../../blocks_compressed.js"></script>
 <script src="../../javascript_compressed.js"></script>
 <script src="../../msg/js/en.js"></script>
 <script src="../../blocks/random_block.js"></script>
 <script src="../../generators/javaScript/random.js"></script>


** Toolbox¤Ë¡¢¥«¥¹¥¿¥à¥Ö¥í¥Ã¥¯¤òÄɲ乤ë [#t2a9dbdd]

Toobox¤Ï¡¢<xml id="toolbox" style="display: none"> - </xml>¤Ç¡¢index.html¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤³¤Ë¡¢ºîÀ®¤·¤¿¥Ö¥í¥Ã¥¯¤òMath¥«¥Æ¥´¥ê¤ËÄɲä·¤Þ¤¹(5¹ÔÌÜ)¡£

 <category name="Math">
   <block type="math_number"></block>
   <block type="math_arithmetic"></block>
   <block type="math_single"></block>
   <block type="random"></block>
 </category>


** Æ°ºî³Îǧ [#s6dd5f6c]

ÊÔ½¸¤·¤¿/demos/test/index.html¤ò³«¤¯¤È¡¢Math¥«¥Æ¥´¥ê¤Ërandom¥Ö¥í¥Ã¥¯¤¬Äɲ䵤ì¤Æ¤¤¤Þ¤¹¡£

#ref(add_toolbox.png,nolink)

¤â¤Á¤í¤ó¡¢¤³¤Î¥Ö¥í¥Ã¥¯¤ò»È¤Ã¤Æ¡¢¥×¥í¥°¥é¥à¤òÁȤßΩ¤Æ¤¿¤ê¡¢³Îǧ¤·¤¿¤ê¡¢¼Â¹Ô¤·¤¿¤ê¤Ç¤­¤Þ¤¹¡£

#ref(final.png,nolink)


¥È¥Ã¥×   ¿·µ¬ °ìÍ÷ ñ¸ì¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS