[[Programing]] > [[Blockly2017>Programing/Blockly2017]] > ¥«¥¹¥¿¥à¥Ö¥í¥Ã¥¯¤Îºî¤êÊý #title("Blockly1.0¡§¥«¥¹¥¿¥à¥Ö¥í¥Ã¥¯¤Îºî¤êÊý") #ref(final.png,nolink) #contents() * ³µÍ× [#f08c9217] ¤³¤³¤Ç¤Ï¡¢Blockly¤Î¥Ç¥â¤ò²þÎɤ·¤Æ¡¢Íð¿ô¤òºî¤ë¥Ö¥í¥Ã¥¯¤òÄɲä·¤Þ¤¹¡£ Blockly¤Î¥Ö¥í¥Ã¥¯¤Ï¡¢Blockly¤Î¥¨¥Ç¥£¥¿UI¤Ë¤è¤ê¡¢¥É¥é¥Ã¥°¡õ¥É¥í¥Ã¥×¤Çºî¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ °ÊÁ°¤Ï¡¢¥Ö¥í¥Ã¥¯¤òºî¤Ã¤¿¸å¡¢Google Closure tools¤ÇºÆ°µ½Ì¤È¤«¤·¤Æ¤¿¤±¤É¡¢¤½¤ì¤¬ÉÔÍפʤΤǡ¢¤±¤Ã¤³¤¦´Êñ¤Ç¤¹¡£ ** ¥Ç¥â¤ÎÆâÍÆ [#h771662c] ¸µ¤Ë¤Ê¤ë¥Ç¥â¤Ï¡¢Blockly¤Î¥Ç¥â¤Ë´Þ¤Þ¤ì¤ëGenerating JavaScript¤Ç¤¹¡£¤³¤Î¥Ç¥â¤Ç¤Ï¡¢Blockly¤ò»È¤Ã¤Æ¡¢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¤Ë¤¢¤ê¤Þ¤¹¡£ ** ¥Ç¥â¥×¥í¥°¥é¥à¤òÊ£À½¤¹¤ë [#b367259f] /demos/generator¥Õ¥©¥ë¥À¤ò¡¢Æ±¤¸/demos¥Õ¥©¥ë¥ÀÆâ¤Ë´Ý¤´¤ÈÊ£À½¤·¤Þ¤¹¡£ ¤³¤³¤Ç¤ÏÎã¤È¤·¤Æ¡¢/demos/test¤È¤·¤ÆÊ£À½¤·¤Æ¤¤¤Þ¤¹¡£ index.html¤ò³«¤¤¤Æ¡¢Æ°ºî³Îǧ¤·¤Æ¤ª¤¤Þ¤·¤ç¤¦¡£ * ¥Ö¥í¥Ã¥¯¤òºî¤ë [#mc94f82e] ** ¥Ö¥í¥Ã¥¯¤ò¥Ç¥¶¥¤¥ó¤¹¤ë [#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) ** ÊÑ´¹¥³¡¼¥É¤òÄɲ乤ë [#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]; }; ** index.html¤Ë¥Ö¥í¥Ã¥¯¤òÆɤ߹þ¤à [#tb02c9bb] /demos/test/index.html¤ò³«¤¤¤Æ¡¢¡Örandom_block.js¡×¤È¡Örandom.js¡×¤òÆɤ߹þ¤ß¤Ç¤¤ë¤è¤¦¤Ë¤·¤Þ¤¹(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¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤³¤ÎToolbox¤ÎMath¥«¥Æ¥´¥ê¤Ë¡¢ºîÀ®¤·¤¿¡Örandom¡×¥Ö¥í¥Ã¥¯¤òÄɲä·¤Þ¤¹(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) * ¤½¤Î¾ [#g3701ce6] ** ¹Í»¡ [#b6e7342f] °ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï¡¢python¤Î¥¹¥¯¥ê¥×¥È(build.py)¤òÆ°¤«¤¹É¬Íפ¬¤¢¤Ã¤¿¡£¤¢¤ì¤Ï¡¢Google Clusur template¤ÇJS¤Î¥¹¥¯¥ê¥×¥È¤ò¥ß¥Ë¥Þ¥¤¥º¤·¤Æ¤¤¤¿¤Î¤Ç¤Ï¤Ê¤¤¤«¡© Ê̤ËGCT¤ò»È¤¦É¬ÍפϤʤ¤¤Î¤Ç¡¢¼«Ê¬¤Î¹¥¤ß¤Î¥Ä¡¼¥ë¤Ç¥ß¥Ë¥Þ¥¤¥º¤¹¤ì¤Ð¤¤¤¤¡£Blokly¤Î¥ª¥ê¥¸¥Ê¥ë¥¹¥¯¥ê¥×¥È¤È¼«Ê¬¤¬Äɲä·¤¿¥¹¥¯¥ê¥×¥È¤òʬΥ¤Ç¤¤ë¤è¤¦¤Ë¤·¤Æ¤ª¤¯¤ÈÌòΩ¤Ä¤³¤È¤â¡£ ** ´ØÏ¢¥Ú¡¼¥¸ [#ab720fb9] - [[Blockly2017>Programing/Blockly2017]] - [[Blockly1.0¡§¥Ä¡¼¥ë¥Ü¥Ã¥¯¥¹¤È¥ï¡¼¥¯¥¹¥Ú¡¼¥¹¤ÎÀßÄêÊýË¡>Blockly/Toolbox_WorkSpace]]