问:

scratch为什么角色不按代码进行

答:
Scratch 中的角色不严格按照编写的代码进行移动和动作有几个原因:
1. Scratch 是图形化编程环境,它不会严格执行代码,而是吧代码转换成角色的移动和动作。所以行为不会完全精确。
2. Scratch 的运动是基于时序的,它会不断的重复绘制图像和刷新屏幕。在每次刷新之间,角色的位置和状态会有细微的变化。这会导致行为有一定的误差和不精确性。
3. Scratch 的刷新频率受许多因素影响,如电脑性能、其他正在运行的程序等。如果刷新频率降低,角色的移动和动作会变得不够流畅,看上去就不精确了。
4. Scratch 的布局和坐标系统也会影响精确性。Scratch 使用一个简单的二维笛卡尔坐标系来定位角色,但屏幕是一个二维eluipse(椭圆)形状。在屏幕边缘附近,一个小的移动就会导致明显的位置变化。这也会影响精确性。
5. 由于Scratch本身的实现方法和算法,一些矩形框和边界的碰撞侦测机制也不是完全精确的。这可能也会导致一些意料之外的移动行为。
总之,Scratch 是一个以简单和直观为主,注重概念和创造力培养的学习环境。所以它的行为不能达到 text-based 编程语言那样的精确性,这在一定程度上是可以理解的。但对于习惯严格语言的学生来说,可能会感到不适应。这需要逐步拓展对 Scratch 定位和特点的认识。