blockly自定义中文出问题_3.8 事件 - Blockly 二次开发文档中文版
工作区上的每个更改都会触发一个事件。这些事件完整地描述了每个变化的前后状态。
监听事件
工作区具有可用于侦听事件流的addChangeListener方法和removeChangeListener方法。一个例子是 实时生成代码。另一个例子是 最大块限制演示。通常情况下,这两个例子都不关心触发事件是什么。他们只是查看工作区的当前状态。
更复杂的事件监听器将查看触发事件。以下示例检测用户何时创建其第一条评论,发出警报,然后停止监听,以便不再触发其他警报。
function onFirstComment(event) {
if (event.type == Blockly.Events.CHANGE &&
event.element == 'comment' &&
!event.oldValue && event.newValue) {
alert('Congratulations on creating your first comment!')
workspace.removeChangeListener(onFirstComment);
}
}
workspace.addChangeListener(onFirstComment);
模块具有另一种侦听事件流的方法。模块可以定义onchange 函数,只要块的工作空间发生更改,就会调用该函数。
事件类型
所有事件共享以下常见属性:
Name
类型
描述
type
串
Blockly.Events.CREATE,Blockly.Events.DELETE,Blockly.Events.CHANGE,Blockly.Events.MOVE,Blockly.Events.UI之一
workspaceId
串
工作区的UUID。可以找到工作区Blockly.Workspace.getById(event.workspaceId)
blockId
串
块的UUID。该块可以找到workspace.getBlockById(event.blockId)
group
串
组的UUID。某些事件是不可分割的组的一部分,例如在堆栈中插入语句
块创建事件(Blockly.Events.BLOCK_CREATE)
块创建事件有两个附加属性:
Name
类型
描述
xml
宾语
定义新块和任何连接子块的XML树
ids
排列
一个数组,包含新块的UUID和任何连接的子块
块删除事件(Blockly.Events.BLOCK_DELETE)
块删除事件有两个附加属性:
Name
类型
描述
oldXml
宾语
定义已删除块和任何已连接子块的XML树
ids
排列
包含已删除块的UUID和任何已连接子块的数组
块变更事件(Blockly.Events.BLOCK_DCHANGE)
块删除事件有两个附加属性:
Name
类型
描述
element
串
‘field’,’comment’,’collapsed’,’disabled’,’inline’,’mutate’之一
name
串
当字段更改时字段的名称
oldValue
值
原有值
newValue
值
新值
块移动事件(Blockly.Events.BLOCK_MOVE)
块删除事件有两个附加属性:
Name
类型
描述
oldParentId
串
旧父块的UUID。如果它是顶级块,则未定义
oldInputName
串
旧父块的输入名称。如果它是顶级块或父级的下一个块,则为未定义
oldCoordinate
宾语
X和Y坐标,如果它是顶级块。如果有父块,则未定义
newParentId
串
新父块的UUID。如果它是顶级块,则为未定义
newInputName
串
新父母的输入名称。如果它是顶级块或父级的下一个块,则为未定义
newCoordinate
宾语
X和Y坐标,如果它是顶级块。如果它有父项,则为未定义
变量创建事件(Blockly.Events.VAR_CREATE)
变量创建事件有两个附加属性:
Name
类型
描述
varType
串
变量的类型,如’int’或’string’。不需要是唯一的。这将默认为“”,这是一种特定类型
varName
串
变量的名称。这在变量和过程中是唯一的
varId
串
变量的唯一ID
变量删除事件(Blockly.Events.VAR_DELETE)
变量删除事件有两个附加属性。
Name
类型
描述
varType
串
变量的类型,如’int’或’string’。不需要是唯一的。这将默认为“”,这是一种特定类型
varName
串
变量的名称。这在变量和过程中是唯一的
varId
串
变量的唯一ID
变量重命名事件(Blockly.Events.VAR_RENAME)
变量重命名事件有两个附加属性。
Name
类型
描述
oldName
串
变量的当前名称。这在变量和过程中是唯一的
newName
串
变量的新名称。这在变量和过程中是唯一的
varId
串
变量的唯一ID
UI事件(lockly.Events.UI)
UI事件有三个附加属性。
Name
类型
描述
element
串
‘selected’,’category’,’click’,’commentOpen’,’mutatorOpen’,’warningOpen’,’theme’之一
oldValue
值
原始价值
newValue
值
改变了价值
预计由UI事件表示的UI动作列表将随着时间的推移变得更加全面。例如滚动,缩放,拖动气泡等事件。
blockly自定义中文出问题_3.8 事件 - Blockly 二次开发文档中文版相关推荐
- Z-Stack Home Developer's Guide—6. Clusters, Commands and Attributes中文翻译【Z-Stack Home 1.2.0的开发文档】
这篇文章将翻译Z-Stack Home Developer's Guide开发文档中的6. Clusters, Commands and Attributes部分,在Z-Stack中Cluster.C ...
- blockly自定义中文出问题_Blockly使用二
3. 自定义积木 虽然Blockly定义了许多标准积木,但大多数应用程序需要定义和实现至少一些域相关积木,这也是Scartch3.0 Blocks使用Blockly的原因,可扩展性强. 积木由三个部分 ...
- blockly自定义中文出问题_Blockly教程 创建自定义块-Blockly 开发者工具
[suxing_insert_post ids=163] Blockly Developer Tools是一个基于Web的开发者工具,它可以通过配置自动化的完成 Blockly 组件开发,包括创建自定 ...
- blockly自定义中文出问题_[BlocklyNukkit入门]#5自定义物品
自定义物品 创建一个木棍 item = blockitem.buildItem(280, 0, 1); 设置名字 item.setCustomName("棍"); 设置信息,用分号 ...
- blockly自定义中文出问题_Blockly 中文文档(翻译)
目录 概述 获取代码 注入 Blockly 配置 代码生成器 引入和导出块 云存储 概述 Blockly 可以很容易的添加到你的 web 应用, 用户拖拽砖块, Blockly 就会生成代码, 你的应 ...
- Z-Stack Home Developer's Guide—7.EZ-Mode中文翻译【Z-Stack Home 1.2.0的开发文档】
7. EZ-Mode EZ-Mode提供了两个设备正常交流的能力,无论这个2个设备是否在zigbee网络中.它包括网络控制.网络发现和网络绑定.EZ-Mode有如下特性: 网络控制 - 找到第一个开放 ...
- Android官方开发文档Training系列课程中文版:创建自定义View之View的创建
原文地址:http://android.xsoftlab.net/training/custom-views/index.html 引言 Android框架含有大量的View类,这些类用来显示各式各样 ...
- android 中文开发文档
android 中文开发文档 ,请点击一下连接,学习官方开发文档 https://developer.android.google.cn/training/basics/firstapp
- python图形绘制库turtle中文开发文档及示例大全【最详细、连结果图都有,gif格式的!】
前言 本文参考:Python库官方文档 本文例子摘抄自Python库官方文档,为了方便讲解,个人进行了修改,并且相关函数说明不完全参照文档,在结果处贴出了执行结果,不方便用jpg等图片作为展示的用了g ...
最新文章
- 如何简单形象又有趣地讲解神经网络是什么?(知乎) 说的人很多,理解很充分_kebu12345678的博客-CSDN博客_神经网络知乎
- AI产业链分布图曝光:1040个玩家,BAT率先步入应用
- 你的企业客户服务,离卓越还有多远?
- TCP为什么需要三次握手
- Linux之Json20160705
- ubuntu16.04 64bit 安装 ida
- 腾讯广告算法大赛 | 初赛第一名心得分享
- Linux内核Makefile文件
- 【转】oracle in和exists、not in和not exists原理和性能探究
- 解析6种常用View 的滑动方法
- mysql 内置存储过程_数据库:mysql内置功能-存储过程
- Netlink套接字
- 【源码好又多】开源在线教育系统
- mybatis笔记-8、动态sql
- 全网最详细的Android11.0长按power键关机流程分析
- 手机内置摄像头接线图解_坚果R2 手机官方壁纸
- 移动云计算的四大特点
- paraview热流图(1):添加glyphs
- 初试-基于神经网络的植物识别
- 服务器性能计时器如何关闭,如何在游戏关闭时继续倒数计时器?
热门文章
- 机器学习特征筛选:方差选择法VarianceThreshold
- 大数据时代千帆竞发,三代测序激流勇进
- R语言入门——ggplot2
- 试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来
- java 两个值对换_java将两个整型变量值进行互换的几种实现方法
- sqlalchemy.exc.InternalError: (pymysql.err.InternalError) Packet sequence number wrong - got 40 expe
- Windows系统下MySQL安装详细教程(解决MySQL服务无法启动)
- ClickHouse系列教程一:Debian/Ubuntu 下ClickHouse的安装和使用
- 报错解决:InvalidArgumentError: Can not squeeze dim[1], expected a dimension of 1, got
- windows链接Linux的pgsql,postgreSQL在CMD里怎么连接