<!-- blockly.js 是自定义块!向外暴露一个 initBlock 函数 -->
<!-- let Blockly = vm.$blockly 获取Vue实例上的$blockly -->
- 参数解析
- this.appendDummyInput()
- .appendField('String') 块的名称,描述块
- .appendField( new Blockly.FieldLabel('hello')) 唯一需要使用构造函数到时间上指定一个类名, 以便可以使用CSS规则对文本进行样式化
- .appendField ( new Blockly.FieldImage("Https://xxx.xxx.com")) 使用图像URL 和所需对高度和宽度创建FieldImage 对象。图像将缩放至指定对尺寸。同时保留宽高,在Web 上配置Blockly.pathToBlockly 以指定Blockly 对根目录。
- .appendField( new Blockly.FieldTextInput('default text') , 'FIELDNAME') 第二个参数可选的。可以不写。 默认文字
- .appendField(new Blockly.FieldDropdown(['不同的string' , '相同的string'] ,['不同的string' , '相同的string'] )) 多选框
* .appendField(new Blockly.FieldCheckbox('TRUE') , 'FIELDNAME') 第二个参数可选。 checkbox
* .appendField( new Blockly.FieldColour ('#000000') ) 颜色选择器
* .appendField( new Blockly.FieldVariable('x') , 'FIELDNAME' ) 变量字段 第二个参数可选
* .appendField( new Blockly.FieldAngle (90) , 'FIELDNAME') 角度
* .appendField( new Blockly.FieldDate('2015-05-05') ,'FIELDNAME') 时间选择
* .setCheck 可选功能用于链接输入的类型检查, 如果给定一个参数 null 默认值 ,那么这个输入可以连接到任何块
* this.appendValueInput() 接收一个字符串。。效果未知
* .setAlign 可选功能用于对齐字段, 有三个自描述值可以作为参数传递给函数:(Blockly.ALIGN_LEFT , Blockly.ALIGN_RIGHT , Blockly.ALIGN_CENTRE )
* .setColour 设置块到色值
* .setNextStatement 下一个连接 可以配置为使用帽子 a hat 进行渲染
* .setPreviousStatement 上一个连接 具有先前连接到块不能具有输出连接
* .setOutput 块输出。
* .setTooltip 工具提示信息。文本长自动换行
* .setHelpUrl 帮助网址help URL
* 块输入----> 块具有一个或者多个输入, 其中每个输入上可以在连接中结束到标签和字段到序列,有三种类型到输入 , 匹配连接类型 {
* 1. 值输入: 连接到值块到输出连接output connection 。 math_arithmetic(加法 , 减法) 上具有两个值输入到块到实例
* 2. 语句输入: 连接到语句块到先前连接 previous connection while 循环到嵌套部分语句输入到实例
* 3. 虚拟输入: 没有块连接。 当块配置为使用外部值输入时 , 其行为类似于换行
}
* .setWarning 更改验证器(仅限JavaScript)
* .setMutator 改变对象属性的方法
<!-- Blockly.Blocks['when_run'] = {
init: function () {
this.appendDummyInput()
.appendField('String')
.setCheck(number or null)
this.appendValueInput('String')
.setAlign(Blockly.ALIGN_CENTRE)
this.appendStatementInput('String')
this.setColour(数字 OR #XXXXXX)
this.setNextStatement(boolean , 'Action' or null)
this.setPreviousStatement(boolean , 'Action')
this.setOutput(boolean , 'Number')
this.setTooltip ('string')
this.setHelpUrl('https://xxx.xxx.com')
this.setMutator(new Blockly.Mutator(['controls_if_elseif' , 'console_if_else']))
},
onchange: function(changeEvent){
if(this.getInput('NUM').connection.targetBlock(){
this.setWarningText(null)
}else {
this.setWarningText('xxx xxx xxx ')
})
}
} -->
Blockly.js
猜你喜欢
转载自blog.csdn.net/Tom__cy/article/details/105768885
今日推荐
周排行