Blockly.js

<!-- 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 ')
          })
      }
  } -->

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值