作者:亿只小花
亿只小花
covers
内容简介:第二期教程!
2024/01/10 19:29

scratch教程——细节处理

scratch教程竟然会有第二期!

本期主题主要就是一个细。

其实这个看不看对你的代码影响不大,只是让一个作品从

能玩→→→改进→→→流畅→→→丝滑优质


第一部分:帧率

Scratch中可能会遇到的帧率分为两种:逻辑帧和物理帧,也就是一些FPS检测数据中的CPU(物理帧)和Scratch(逻辑帧)

细讲一下:

逻辑帧,就是大家指的“Scratch的帧数”,而这个值被Scratch控制在了30左右(很低但稳定)

物理帧,变动幅度很大,就是电脑运行速度。

^加速模式不会控制Scratch帧,逻辑帧=电脑运行速度^

就相当于如果编写这样一段代码:

假设逻辑稳定在30fps,边的代码会以的方式运行(300步/秒)
我们可以把scratch帧看成一个【等待x秒】函数,之在一些时候会用到,比如
右图中,没有“重复执行”,整个代码都会被在一个逻辑帧之内运行,而左图中,会自动插入一个逻辑帧
当然,两个耗费的都是3个物理帧,不过因为物理帧一般极低,且与逻辑帧同时运行,所以不做考虑。
我总结了所有会自动插入逻辑帧的函数:
(提示:有关【重复执行】的函数,如果循环内最后一个代码是会自动插入逻辑帧的函数,那么便不会插入额外的逻辑帧
可以自行参考。

那么如何无间隔地重复执行呢?很简单,有两种方法:

  • 1 广播可以改变特性,以达到效果
  • 2 上面那种的特点是运行每一次都会用掉1个物理帧(很少!),而这个会在1个逻辑帧内运行完毕!

最后,讲一下如何【逆推】公式,做成这个函数:

首先,试着自己根据代码实际运行情况做一下,简单!
懂了吗?就像这样就好了!
为什么呢?因为【等待 i 秒】会自动插入逻辑帧,而因为【循环的性质】,所以循环不会有间隔,一个实用的函数就编好了

第二部分:像素


像素很简单,以这个为例,

它的总长度是100像素×100像素,所以这里就显示了100×100!

呢?这里有个知识点,5像素=1步 所以不要费好久调试一步和一像素的进率了。(我当时做ContaminationP2的时候上边下边两团火做了我半小时)

再附赠一个冷知识,绘画的时候如果发现这种情况,那么就是有一个透明的东西或者是一个点在边缘,这会影响判定原来是你在搞鬼
^删掉它!^

第三部分:其它


  • 克隆体重复:编程时需要注意,克隆体是可以接受广播的!所以绝对不要放在里,要不然添加一个检测(给本体一个特殊的方向、大小或特效),要不然别用

没了。

评论区

登录之后才能评论Scratch作品哦
北柠Tracy4 个月前

热乎的

亿只小花4 个月前
@北柠Tracy

能吃)