Blockly能实现在两条信息之间计时吗

比如接收到消息“开始”就计时,如果在指定时间内没有收到消息"结束",就执行输出“结束”

1 个赞

看了一圈好像没有实现await的块

又看了下 应该是session.prompt

1 个赞

Blockly里有对应的块吗

1 个赞

我想应该是没有的

开发Blockly的大佬还更新吗 :rofl:

1 个赞

在更新。

别急。

2 个赞

收到,开始的时候记录一个时间,收到结束的时候记录一个时间,结束的时间减去开始的时间就是一个简单的计时啦

1 个赞

声明,一个变量名为结束的全局变量
收到开始时进入一个循环循环一次计数加一,等于十的时候跳出循环。循环中加一个if判断一个变量结束是否为真,为真则跳出循环。
收到结束时设置变量结束为真

1 个赞

。。循环中记得插一个等待块,

1 个赞

有个问题,Blockly是以事件驱动的,那如果一个事件的逻辑没有结束,是不会执行另一个事件的吧

1 个赞

一般情况下如此,但楼上提到的 等待块 是一个特例。等待块是一个 异步块,这意味着 在等待过程中,Koishi 会放下这一组块的事务,转而先去看看有没有其他的块可以执行

如果你有其他位置的一组块接受消息,那么你可以在其他块里通过修改全局变量的方式通知正在等待的块,使其提前结束。

1 个赞