分享好友 最新动态首页 最新动态分类 切换频道
blockly-android模块化/可视化编程(三)——自定义块并增加到项目中
2024-12-26 21:42


块的定义一般用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
最新文章
网站建设范本/常见的网络推广方式有哪些
html语言-----超文本标记语言 标记—即标签的意思 简单的格式— 用记事本新建一个txt文档,在文档中加入以下内容,然后修改后缀名为 html或者htm,之后用浏览器打开被所包围有头和身子部分,然后用浏览器打开,一个简单的html页面就诞生了; 但是
r语言多元统计分析 多元统计与r语言
多元考试练习:一. 多元线性回归模型:1. 建立回归模型2. 逐步筛选3. 最优标准方程,影响最大4. 全局择优法(使用4.2.1版本的R):5.分析6.由标准化偏回归系数可见,方差分析结果二. 判别分析1. 线性判别,贝叶斯判别正确率2. 预测情况3. 线
重庆专业优化推广服务,赋能企业品牌升级与市场突破
重庆靠谱优化推广服务,专注于助力企业品牌影响力与市场竞争力的提升。通过精准策略,优化推广方案,帮助企业拓展市场,增强品牌知名度,实现持续增长。在互联网高速发展的今天,企业要想在激烈的市场竞争中脱颖而出,显得尤为重要,作为西
网站开发的奥秘,从构思到上线,介绍网站开发的五大关键步骤
随着互联网技术的飞速发展,已经成为企业展示形象、拓展业务的重要平台。如何开发一个功能完善、用户体验良好的网站呢?本文将为您揭秘的五大关键步骤,助您打造一个成功网站。一、需求分析网站开发的第一步是进行需求分析。这一阶段需要明
如何最大化你的谷歌广告ROI:为你的Google Ads找到合适的关键词
SEO优化是任何数字营销活动的组成部分。为 Google Ads(正式名称为 Google Adwords)选择正确的关键字是你在营销中可以做出的最重要的决定之一,以建立可靠的搜索广告系列。 关键字不仅会决定广告组可以带来多少流量,还会决定你在用户的 G
厦门引入人工智能,教育改革迈入智能化新时代
在教育模式不断革新的今天,厦门市在人工智能领域的探索引领了教育高质量发展。极具前瞻性地,厦门市教育局于近日召开的新闻发布会上宣布,人工智能正在担当中考英语口语及体育考试的考官这一重要角色。早在2021年,厦门便荣膺全国人工智能
创维ai电视如何关闭? , 怎么把创维电视语音唤醒关闭?
1. 关闭自动更新:在电视设置中找到更新选项,关闭自动更新功能,这样就不会再提示更新。2.重启电视:有时电视只是出现了临时的故障,可以尝试重启电视,看看是否能够消除提示。3.升级到新版本:如果实在无法消除提示,可以尝试升级到新版
淘宝为什么光有访客没人下单?淘宝访客量低的原因是啥?
要查看淘宝店铺的关键词,可以按照以下步骤进行:1. 登录淘宝卖家后台,进入左侧菜单-流量中心-搜索词-关键词分析页面。2. 在关键词分析页面上方,选择要查看的时间范围和商品范围。3. 然后可以选择关键词类型进行筛选,如全匹配、含品牌、
【W2013(电信3G)360手机助手下载】三星W2013 电信3G360手机助手10.8.3免费下载
360手机助手是android智能手机的资源获取平台。提供海量的游戏、软件、音乐、小说、视频、图片,通过它轻松下载、安装、管理手机资源。360手机助手所有提供信息资源,全部经过360安全检测中心的审核认证,绿色无毒,安全无忧。360手机助手
谷歌 Chrome 浏览器新增 AI 助手,助力开发者高效调试网页代码
近期,谷歌在其 Chrome 浏览器的开发者工具中推出了一项革命性的更新——AI 助手功能,这一创新之举旨在极大提升网页代码调试的效率与便捷性。该 AI 助手能够深入解读网页源代码,并在开发者遇到问题时,提供即时且针对性的分析与解答。这
相关文章
发表评论
0评