比如接收到消息“开始”就计时,如果在指定时间内没有收到消息"结束",就执行输出“结束”
1 个赞
看了一圈好像没有实现await
的块
又看了下 应该是session.prompt
1 个赞
Blockly里有对应的块吗
1 个赞
我想应该是没有的
开发Blockly的大佬还更新吗
1 个赞
在更新。
别急。
2 个赞
收到,开始的时候记录一个时间,收到结束的时候记录一个时间,结束的时间减去开始的时间就是一个简单的计时啦
1 个赞
声明,一个变量名为结束的全局变量
收到开始时进入一个循环循环一次计数加一,等于十的时候跳出循环。循环中加一个if判断一个变量结束是否为真,为真则跳出循环。
收到结束时设置变量结束为真
1 个赞
。。循环中记得插一个等待块,
1 个赞
有个问题,Blockly是以事件驱动的,那如果一个事件的逻辑没有结束,是不会执行另一个事件的吧
1 个赞
一般情况下如此,但楼上提到的 等待块 是一个特例。等待块是一个 异步块,这意味着 在等待过程中,Koishi 会放下这一组块的事务,转而先去看看有没有其他的块可以执行。
如果你有其他位置的一组块接受消息,那么你可以在其他块里通过修改全局变量的方式通知正在等待的块,使其提前结束。
1 个赞