【问题标题】:Can the internal counter of a Scratch Repeat block be accessed?可以访问 Scratch Repeat 块的内部计数器吗?
【发布时间】:2016-02-09 18:28:01
【问题描述】:

我假设Repeat() block in Scratch 有某种内部计数器,它会在每次围绕块的开始或结束时递增或递减。

可以以任何方式访问此计数器的值吗?

我意识到this 可以有一个可用的计数器,但我只对我帮助开发的不同语言的潜在类似实现感兴趣。

【问题讨论】:

  • 不是来自 Scratch,但如果你正在设计一种语言,你当然可以让它易于访问。我还建议看看Snap!,一种基于 Scratch 的语言;具体来说,导入工具库并从那里查看重复块 - 它带有一个计数器。

标签: repeat data-access control-structure mit-scratch loop-counter


【解决方案1】:

不,但变量是你的朋友:

set counter to 0
repeat times
  change counter by 1
  ...
end

应该是相当自我描述的:)

现在您甚至不需要查看“内部计数器”!

【讨论】:

  • 但是……我问的是内部计数器!
  • @NBZ 有什么区别?为什么需要使用内部计数器?
  • 你一定错过了我在水平尺下方的笔记。我现在增加了字体大小。
【解决方案2】:

嗯,有点……

有一个块,称为foreach 块,它的工作原理与repeat 块一样,只是您可以选择一个变量来设置循环计数器。

它在早期的 Scratch 2.0 测试版中被从屏蔽列表中删除,知道的人并不多,但这里有一个在 Scratch 网站上的工作示例:For each v in number。请注意,它在内部不使用%m.list,因此您必须使用ScratchEdit 或文本编辑器更改项目的JSON 来选择v 以外的变量。

【讨论】:

  • 这不能回答我的问题。看来正确的答案是“不,你不能!”。
  • @NBZ 重复了,只是提供了一种访问内部变量的方法。我认为这几乎是一样的。 (但不,这并没有严格回答问题!)
猜你喜欢
  • 1970-01-01
  • 2015-03-20
  • 2011-08-11
  • 2014-09-09
  • 2010-10-03
  • 2016-06-17
  • 1970-01-01
  • 1970-01-01
  • 2012-01-01
相关资源
最近更新 更多