generate ai codes with blocks
edit 3 places to make new ai functions
1.AiBlocks\blocks\langkongai.js
2.AiBlocks\generators\python\langkongai.js
3.AiBlocks\langkongai\index.html 最后面xml部分
4.本地化语言 AiBlocks\msg\js\en.js zh-hans.js 中定义字符串
use AiBlocks\demos\blockfactory_old\makeblock.html to make a new block
=========================
python 会自动生成项目临时文件SmartScaletransferProjectbintmp.py 并执行
=========================
示例 AiBlockslangkongaiindex.html
<category name="aaaUserdefine" colour="%{BKY_COLOUR_HUE}">
<block type="bbUserdefine"></block>
<block type="ccUserdefine"></block>
</category>
示例 AiBlocksblockslangkongai.js
// aaaUserdefine 这里写函数的用途 bbUserdefine
{
"type": "bbUserdefine",
"message0": "函数显示名bb %1",
"args0": [
{
"type": "input_value",
"name": "para1Userdefine",
},
{
"type": "input_value",
"name": "msg",
"check": "String"
}
],
"output": null,
"previousStatement": null,
"nextStatement": null,
"colour": 210,
"tooltip": "这个函数干嘛的,输入参数是什么,输出什么",
"helpUrl": "http://www.example.com/"
},
说明:不支持多返回值,"output"为有返回值。
"previousStatement"可以接前面,"nextStatement"可以接后面。可以选0,1,2个。
output 与 前后连接不能同时出现。
可以三个都没有,一般不会这样。
示例 AiBlocksgeneratorspythonlangkongai.js
Blockly.Python['bbUserdefine'] = function(block) {
var value_para1Userdefine = Blockly.Python.valueToCode(block, 'para1Userdefine', Blockly.Python.ORDER_ATOMIC);
// TODO: Assemble Python into code variable.
Blockly.Python.definitions_['import_zbar'] = 'import zbar';
var code = 'zbar.getzbarmessage' + '(' + value_code +')n';
// TODO: Change ORDER_NONE to the correct strength.
return [code, Blockly.Python.ORDER_NONE];
};
Blockly.Python['showcam'] = function(block) {
var value_frame = Blockly.Python.valueToCode(block, 'frame', Blockly.Python.ORDER_ATOMIC);
var value_msg = Blockly.Python.valueToCode(block, 'msg', Blockly.Python.ORDER_ATOMIC);
// TODO: Assemble Python into code variable.
Blockly.Python.definitions_['import_cvs'] = 'import cvs';
var code = 'cvs.show' + '(' + value_frame +','+ value_msg +')n';
return code;
};
说明: return code; // 无返回值
return [code, Blockly.Python.ORDER_NONE];//有返回值