块的定义一般用json文件来表示,如下图所示中由“_blocks”结尾的json文件。
当然,我们注意到了这点,那么我们也要规范自己的命名方式,自定义块文件以
“_blocks”结尾
对于初次接触块文件的人来说,json的内容让我们不明所以。
其实,我们大可不必强行理解它。因为Google为我们提供了图形化编程工具Blockly Developer Tools来生成这些block、toolbox、workspace并且自动生成解析generator模板,非常方便。
地址:
https://blockly-demo.appspot.com/static/demos/blockfactory/index.html
官方使用指导:
https://developers.google.com/blockly/guides/create-custom-blocks/blockly-developer-tools
打开如下图所示:
接下来,我们来学习Blockly Developer Tools的使用方法
1.工作模式切换
如下三个选项卡用于切换工作模式:
Block Factory用于制造block块
Block Exporter用于将制造好的block块导出至文件
Workspace Factory用于制造toolbox以及workspace
2.使用Block Factory制作block块
制作区同样也是一个可视化模块化编程区域,它同样拥有Toolbox,左侧的Input、Filed、Type、Colour就是分类
(
C
ategory):
Input代表可输入的块,块必须基于它而制造,它有三种类型:
value input:用于接收一些值
statement input:用于接收一些动作
dummy input:“空输入”,它不接收输入,可用于定义变量或声明明某一动作等,如下是对ture的定义:
Field代表字段,返回一些诸如字符串、数字之类的值
Type代表类型,一般用于对value input接收的值的类型进行限定
Colour代表颜色,用于块颜色的定义
认识基本块:
name用于定义模块的名称
inputs仅用于接收input块
第一下拉框用于设定input块的展示样式,包括自动、
拓展显示、行内显示
第二下拉框用于设置块的可连接方向
colour用于设置块的颜色,颜色采用HSV(
Hue-Saturation-Value )颜色空间定义,H代表色调,S代表饱和度,V代表明度,具体详见
https://baike.baidu.com/item/HSV/547122?fr=aladdin&fromid=12630604&fromtitle=HSV%E9%A2%9C%E8%89%B2%E7%A9%BA%E9%97%B4
颜色生成器:
https://www.rapidtables.com/web/color/color-picker.html
如下以if else模块为例,我们就可以贯通上面所有的讲述:
制作过程:
首先,if需要接收Boolean类型的参数,所以我们选择value input,并设置type为Boolean,加入文字显示“if”
其次,if执行的语句我们需要用statement input来接收,并加入文字显示“do”
再次,else部分无需任何输入,我们使用dummy input,加入显示文字“else”即可
最后,else执行的语句我们同样用
statement input来接收,并加入文字显示“do”
点击上方的保存,保存到Block Library中,下次打开网页依然可以进行编辑
到这里,你会发现预览模块和我们要做的样子并不完全一样,是的,我们还需要处理一些细节:
设置连接方式,这里设置为上下皆可连接:top+bottom connections
设置颜色,输入或拖动色彩盘,设置为345即可
至此,我们就完成了一个模块的创造,我们在右侧Block Definition中可以看到实时生成的代码,我们将其复制到我们项目的块定义文件中,并将此块添加到toolbox对应的分类中,即可在App中显示。
代码的解析就依赖于右下角的Generator stub中生成的模板代码,我们将其复制到我们项目的代码解析文件中,进行针对行的修改,即可让此模块在App上转换成对应代码,如:
3.使用Block Exporter导出块至文件
切换到Block Exporter,我们可以看到左边会将我们在Block Library中创造的Block全部展示出来,勾选我们需要的Block,并设置文件名称(需含拓展名),即可点击Export按钮进行导出块定义文件与解析模板文件
4.使用Workspace Factory制作toolbox和workspace
切换到
Block Exporter,我们通过中部几个符号进行创建分类、删除分类、上下移动分类。
创建分类后,可将左侧toolbox中的模块拖入其中,右侧可实时预览,制作完成后,可通过上方的Export按钮进行导出
5.使用生成的文件
将以上生成的块定义文件、代码解析文件、Toolbox文件、workspace文件复制到我们项目的资产目录中,在代码中增加对这些文件的关联(见第一篇文章)后即可使用
制作区同样也是一个可视化模块化编程区域,它同样拥有Toolbox,左侧的Input、Filed、Type、Colour就是分类
(
C
ategory):
Input代表可输入的块,块必须基于它而制造,它有三种类型:
value input:用于接收一些值
statement input:用于接收一些动作
dummy input:“空输入”,它不接收输入,可用于定义变量或声明明某一动作等,如下是对ture的定义:
制作过程:
首先,if需要接收Boolean类型的参数,所以我们选择value input,并设置type为Boolean,加入文字显示“if”
其次,if执行的语句我们需要用statement input来接收,并加入文字显示“do”
再次,else部分无需任何输入,我们使用dummy input,加入显示文字“else”即可
最后,else执行的语句我们同样用
statement input来接收,并加入文字显示“do”
点击上方的保存,保存到Block Library中,下次打开网页依然可以进行编辑
到这里,你会发现预览模块和我们要做的样子并不完全一样,是的,我们还需要处理一些细节:
设置连接方式,这里设置为上下皆可连接:top+bottom connections
最新文章
做游戏网站需要多少钱/平台推广公众平台营销
硬盘里面有很多磁头,每个磁头有很多环,类似跑道。称为柱面:0柱面 1柱面;跑道里面有很多块称为扇区:扇区0 扇区1。硬盘操作的耗时主要在磁盘转换的时候,如果我们一会读1磁头,一会写2磁头
百度百万蜘蛛池,探索搜索引擎优化中的神秘力量,百度百万蜘蛛池搭建
百度百万蜘蛛池是一种用于搜索引擎优化的技术,通过搭建蜘蛛池,可以吸引更多的搜索引擎爬虫访问网站,提高网站权重和排名。这种技术通过模拟大量用户访问网站,增加网站的流量和曝光率,从而提升网站的知名度和商业价值。需要注意的是,蜘
辽宁网络网站搭建与优化策略解析,企业品牌影响力提升之道
本文深入探讨了辽宁地区网络网站搭建与优化策略,旨在帮助企业提升品牌影响力。通过分析优化关键词、提升用户体验、增强搜索引擎排名等方面,提供了一系列实操建议,助力企业打造高效、专业的网络平台。辽宁网络网站搭建策略辽宁网络网站优
湖南关键词推广革新,助力区域品牌引擎升级
湖南省通过优化关键词推广策略,致力于提升区域品牌影响力,打造全新品牌发展引擎,以创新推广手段推动地方经济和文化品牌的崛起。随着互联网技术的飞速发展,网络营销已经成为企业推广产品和服务的重要手段,在众多营销策略中,关键词推广
天猫抽检被处罚怎么办?提交复检申诉的条件
2019年11月20日陈菲100天猫各大类目代入驻绿通,天猫超市 ,猫享自营代入驻,天猫大药房,京东POP,京东自营代入驻,天猫店添加品牌类目,天猫店铺考核不达标处理,天猫店铺主体变更,抖音,得物入驻,天猫,京东,抖音,得物,快手等网络
小米手机获取 Root 权限教程(详细图文) – MIUI历史版本
常说的 Root 手机指的是获取 Android 系统超级用户权限,目的大多为了卸载 OEM 厂商预装软件,或者运行需要 Root 权限的软件,例如聊天防撤回、虚拟定位、权限控制等。在获取 Root 权限后如果平时授权管理不当,会增加手机安全风险,因此只
新浪微博转发关注推广外包,找X传播平台
新浪微博转发关注推广外包,找X传播平台新浪微博转发关注推广外包,找X传播平台X传播,国内最全的社会化媒体营销平台,帮助您在百科,论坛,新闻,问答,博客,微博,微信,美丽说,豆瓣,开心,人人等社会化媒体渠道进行全面的推广。X传播
游戏排行榜第一名手游推荐 2024受欢迎的手游合集
今天小编要给大家聊一下游戏排行榜第一名,咱们知道,现在游戏界挺流行搞排名的,那些排在前面的游戏,不只是画面做得像电影一样吸引人,它们的故事讲得动听,玩法也特别有创意,有的甚至火到出了好多好玩的周边产品。所以,小编就来给大家
词令如何把链接生成关键词打开?
词令是一款关键词口令直达工具。打开词令,输入口令,直达该口令关联的目标。网址转成口令后,就可以通过词令,输入口令,打开口令关联的目标网址。口令打开网址体验口令是:vip88,请打开词令App或词令官网,输入口令【 vip88 】,搜索直
蓝色协议最新动态,揭秘其最新更新内容与发展趋势,蓝色协议最新更新揭秘,发展趋势与动态概览
摘要:蓝色协议最新动态更新,带来了一系列令人兴奋的新内容和发展趋势。此次更新注重用户体验和游戏性能的优化,增加了新功能并改进了现有机制。游戏发展趋势展现出更加精细化的内容设计,致力于提升玩家的沉浸感和游戏整体质量。玩家可以
相关文章
推荐文章