COCREA 白皮书
English回到 Cocrea中国社区
  • 欢迎
  • 😀The Basics
    • 从这里开始
    • 使命
    • Cocrea 的 DAO
  • 🛠️Cocrea
    • 社区发展规划
    • 云服务
      • 项目管理
      • 项目募资
        • 投币
        • 众筹
        • 分成
    • Game-Fi 服务
      • 铸造系统
      • 徽章系统
    • 代币经济
      • X-Fi
      • X2Earn
      • Naquagems
    • 治理
      • 举报
  • 🧩Gandi IDE
    • Gandi 发展规划
  • 功能
    • 功能对比
      • 关于 Scratch
      • 关于 TurboWarp
      • 关于 Blockly
      • 关于 Gandi IDE
    • 团队协作
    • 版本管理
    • 素材商城
    • AI 增强
    • 3D
  • 扩展模块文档
    • 控制台
    • MMO (在线多人游戏)
    • 数据模块
    • 多媒体模块
    • Box2D (物理引擎)
    • Cocrea APIs
    • Arkos 的存档码拓展模块
  • 制作一个扩展模块
  • 👩‍💻How-to
    • 从 Scratch 迁移你的作品
    • 自定义个人主页
    • 使用 Gandi
    • 设置 SEO
    • 贡献
  • 🎭Scenarios
    • 在线多人游戏 (MMO)
    • 互动小说
  • 👾More
    • 更新日志
    • 隐私与安全
    • FAQ
  • ⚗️What's Next
    • Scratch 社区贡献者
      • TurboWarp
      • Griffpatch
      • CCW
      • 其他贡献者
    • Scratch 社区中遇到的困难
由 GitBook 提供支持
在本页
  • 为什么要有控制台?
  • 功能及定义
  • 跟踪
  • 循环控制
  • 控制台指令
  • 最佳实践
  • 实用场景 A:追踪一段算法中变量的变化情况
  • 实用场景 B:在读代码时确定时间的触发顺序

这有帮助吗?

  1. 扩展模块文档

控制台

让 debug 更加方便的控制台工具

上一页扩展模块文档下一页MMO (在线多人游戏)

最后更新于3年前

这有帮助吗?

为什么要有控制台?

想要在 Scratch 中 debug 是非常麻烦的,特别是遇到下面这三种情况:

  1. 在一个项目中定义了非常多的变量和列表;

  2. 在一个循环中检查某一个变量的变化情况;

  3. 当有多个角色被同一个广播事件影响时;

Gandi 中的控制台扩展模块可以帮助你解决这些问题,并且让 debug 更加轻松。

功能及定义

跟踪

以下的这些方法会帮助你追踪程序中变量值的变化情况,或者只是简单地在终端窗口中打印一个字符串。

显示 / 隐藏控制台

显示或隐藏控制台窗口。

记录日志 / 警告 / 错误

用记录日志语句打印出的内容是绿色的,警告语句打印出的内容是黄色的,错误语句打印出的内容是红色的。比如,当你运行上面这段代码,控制台窗口就会打印出下图显示的效果。

用某种颜色输出信息

输出信息的语句和记录日志、警告、错误比较类似。不过在这个语句中,你可以自己选择显示的颜色。

和前面那条语句类似。区别是如果输出的信息没有变化的话,语句不会再次输出信息。

举个例子,当你运行下图中左边的这段代码,你就会得到右边这样的结果。

清除

清除控制台中的输出内容。

循环控制

下面的这些语句可以暂停你的程序,方便你进行 debug 或者显示变量的变化。

当变量发生改变时

当放入语句的变量发生变化的时候,这个事件就会被触发。比如下面这段代码:

当判断条件从不成立改变为成立时

当一个判断条件表达式从不成立改变为成立时,这个事件就会被触发。比如下面这段代码:

暂停运行 / 继续运行

在代码中暂停或继续运行程序。这两个语句可以用来在程序中设置一个有条件触发的中断点。比如当变量 score 的值小于 0 的时候,正在运行的程序就会暂停。

控制台指令

可以在控制台窗口中使用以下这些指令。在使用之前,你至少需要用【显示控制台】语句让控制台窗口显示出来。

指令
描述
案例

help

显示指令帮助

clear

清除控制台

? <name>

模糊搜索,并且将名字包含 <name> 的变量和列表打印出来

想要打印一个名字为 player 的变量,可以输入:? player

??

打印所有的变量和列表

h

帮助快捷键

c

清除快捷键

最佳实践

实用场景 A:追踪一段算法中变量的变化情况

如下图所示,左边是一段简单的嵌套循环算法。这种情况下非常容易出现 bug。

有了 Gandi 的控制台,你可以很方便的跟踪变量的变化情况,就像下图右边展示的那样。

你不用猜测变量的值,也不用在算法中加入等待语句,降低算法的运行速度来观察变量的变化。

实用场景 B:在读代码时确定时间的触发顺序

读代码是学习编程最好的方式之一。然而,当我们在阅读一个非常复杂的项目时,程序中事件触发的顺序以及自制积木的调用情况是非常难理清的。TimMcCool 的《Among Us》就是一个案例。

使用 Gandi 的控制台,你可以在每一个自制积木中,都插入一个输出语句。当自制积木被调用或者事件被触发的时候,控制台中会打印出一条信息,帮助你理清程序的执行顺序。就像下图中显示的这样。

Page cover image