首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >创建自定义块并编写代码以在Android上生成Javascript代码

创建自定义块并编写代码以在Android上生成Javascript代码
EN

Stack Overflow用户
提问于 2017-02-16 02:48:48
回答 1查看 1.6K关注 0票数 0

我想要一个不同类别的块,叫做‘运动’,里面有两个块,叫做MoveForwardMoveBackward

在块核心库中的toolbox.xml文件中,添加了用于创建UI的XML代码。

代码语言:javascript
运行
AI代码解释
复制
<category name="Movement" colour="190">

        <block type="move_forward">
            <value name="TEXT">
                <shadow type="text">
                    <field name="TEXT">4</field>
                </shadow>
            </value>
        </block>

        <block type="move_backward">
            <value name="TEXT">
                <shadow type="text">
                    <field name="TEXT">4</field>
                </shadow>
            </value>
        </block>

</category>

现在,我需要在哪里添加JavaScript代码,以便在使用和运行这些bock时创建输出JavaScript代码?简单地说,为了使这些块生成JavaScript代码,我还需要做些什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-18 13:45:18

我假设您已经编写了块定义,并且这些块显示在工具箱UI中。在这种情况下,代码生成器就是您丢失的部分。在所有块平台上定义在JavaScript中的生成器。它们看起来是这样的:

代码语言:javascript
运行
AI代码解释
复制
// From the Android turtle demo.
// https://github.com/google/blockly-android/blob/master/blocklydemo/src/main/assets/turtle/generators.js
Blockly.JavaScript['turtle_move_internal'] = function(block) {
  // Generate JavaScript for moving forward or backwards.
  var value = block.getFieldValue('VALUE');
  return 'Turtle.' + block.getFieldValue('DIR') +
      '(' + value + ', \'block_id_' + block.id + '\');\n';
};

Blockly.JavaScript是块类型名称(在您的例子中是move_forwardmove_backward )到JavaScript生成器函数的映射。每个生成器函数都在JavaScript Block对象中传递。这是在Blockly的web版本中使用的相同的API。

写你自己的生成器文件。如果您使用的是Android,这应该放在您的资产文件夹中,以及AbstractBlocklyActivity.getGeneratorsJsPaths()返回的一个资产路径中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42271721

复制
相关文章
【Groovy】Android Studio 中创建 Groovy 工程 ( 创建 Android Studio 工程 | 创建并改造 Java 依赖库 | 编写 Groovy 代码并运行 )
在 Android Studio 欢迎界面 , 选择 " Create New Project " 创建新的 Android 应用 ;
韩曙亮
2023/03/30
1.7K0
【Groovy】Android Studio 中创建 Groovy 工程 ( 创建 Android Studio 工程 | 创建并改造 Java 依赖库 | 编写 Groovy 代码并运行 )
常用的JavaScript代码块
下面的代码实现了将obj1对象和obj2对象合并到了一起,并且将合并后的值赋值给obj3
用户3880999
2023/04/13
8040
常用的JavaScript代码块
IDEA 自定义快捷代码块
设置入口位置 settings -> Editor -> Live Template
java攻城狮
2021/01/18
1.6K0
VSCode自定义代码块详解
  我们选择一种类型(我这里选择全局作用域类型),并且给这个文件起一个名字,   ps:名字随便起
_一级菜鸟
2022/02/20
4.3K0
VSCode自定义代码块详解
代码块:在Java中用{}括起来的代码
 (1)在Java中用{}括起来的代码。 (2)代码块分类:(根据其位置和声明的不同) A:局部代码块       在方法定义中,用于限定变量的生命周期,及早释放,提高内存利用率。 B:构造代码块       在类中方法外出现(即在类中的成员位置),可以把多个构造方法方法中相同的代码存放到一起,用于对对象进行初始化,每次调用构造方法都执行,并且在构造方法前执行。 C:静态代码块       在类中方法外出现(即在类中的成员位置),并加上static修饰,用于对类进行初始化,静态在类加载的时候就执行了,并且只执行一次。 D:同步代码块       多线程部分讲解。 (3)面试题:     静态代码块、构造代码块、构造方法的执行顺序问题?
黑泽君
2018/10/11
8830
编写可测试的JavaScript代码
既然要对代码进行测试,那么为什么不让这一过程变得尽可能简单和轻松呢?JavaScript客户端代码测试之所以尤其困难,是因为我们几乎无法控制代码运行的环境。多种类型的操作系统、多个版本的操作系统、多种类型的浏览器、多个版本的浏览器,更不用说插件、扩展、多语言版本和缩放大小了,还有一些未知内容,所有这些因素交织在一起,阻碍着应用程序的性能。这些因素会导致程序变慢、中断、崩溃,最终覆灭。
用户8983410
2021/10/07
4350
编写可测试的JavaScript代码
①使用敏捷开发,并不一定意味着应用程序完成得更快且质量更高,敏捷开发最大的优势是它处理需求变更的方式。
硬核项目经理
2019/08/06
1.4K0
怎样编写更好的 JavaScript 代码[每日前端夜话0xA4]
我看到没有多少人谈论改进 JavaScript 代码的实用方法。以下是我用来编写更好的 JS 的一些顶级方法。
疯狂的技术宅
2019/08/09
1.3K0
怎样编写更好的 JavaScript 代码[每日前端夜话0xA4]
编写高效的Android代码
毫无疑问,基于Android平台的设备一定是嵌入式设备。现代的手持设备不仅仅是一部电话那么简单,它还是一个小型的手持电脑,但是,即使是最快的最高端的手持设备也远远比不上一个中等性能的桌面机。
飞雪无情
2018/08/28
6150
普通代码块 静态代码块 构造代码块......傻傻分不清
在上面分类描述中,我们已经给出了答案;接下来我们跑一跑测试代码,根据代码执行结果来验证这些答案
麦洛
2021/04/29
9670
普通代码块 静态代码块 构造代码块......傻傻分不清
如何编写漂亮的 JavaScript 代码
这是一条编程领域流传久远的规则。严格遵守这条规则会让你的代码可读性更好,也更容易重构。如果违反这个原则,那么代码会很难被测试或者重用。
小鑫
2022/02/23
8030
在Android Studio中自定义代码模板
实例:EmptyActivity\root\src\app_package\SimpleActivity.java.ftl
用户1205080
2018/12/14
3K0
关于java中普通代码块、构造代码块与静态代码块
public static void main(String[] args) { /*普通代码块: *直接定义在在方法或语句中出现”{普通代码的执行语句}“的就称为普通代码块。 *普通代码块执行顺序由他们在代码中出现的次序决定--“先出现先执行” * */ {   System.out.println("这里是普通代码块A"); } //new A(); {   System.out.println("这里是普通代码块B"); } }
指尖改变世界
2018/08/31
1.4K0
关于java中普通代码块、构造代码块与静态代码块
在php代码中内嵌javascript代码
作者:陈业贵 华为云享专家 51cto(专家博主 明日之星 TOP红人) 阿里云专家博主 文章目录 格式: 意思: 代码: 需要注意的地方: ---- 格式: 变量($cyg)=<<<start
贵哥的编程之路
2022/09/23
2K0
在php代码中内嵌javascript代码
Xcode创建可复用的代码块 原
        在各种程序开发中,编写代码的效率是非常重要的一个问题,各种优秀的编译器也都有相应的插件用于提高程序员的编码速度。在xcode中,可以通过定义代码块的方式将常用的一部分代码进行快捷呼出,首先xcode中为我们定义好了许多代码块,例如:
珲少
2018/08/16
7850
Xcode创建可复用的代码块
                                                                            原
Xcode - Code Snippets 自定义代码块
Code Snippets,即代码块。使用代码块可以减少重复性劳动,提高编写程序的速度。   在 Xcode11 中,Code Snippets的入口为右上角的“+”按钮。user 区为自定义的代码块,其它区为系统的代码块。
师大小海腾
2020/04/16
2.3K0
Xcode - Code Snippets 自定义代码块
点击加载更多

相似问题

编写HTML/Javascript代码以生成HTML文件

11

编写php代码以在块显示和警告中创建菜单

11

在android上编写python代码

50

编写代码以在python中生成网格

115

无法在代码块中生成代码

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文