【教程向】数显制作教程
scratch吧
全部回复
仅看楼主
level 5
红帽RH◎ 楼主
诸位好,我是sc界的一条咸鱼,红帽
在这个贴子里,我会尽可能具体通俗地给大家讲述数显的制作方法
一楼防吞
2021年03月22日 11点03分 1
level 5
红帽RH◎ 楼主
首先第一步,新建一个角色(喂喂这不是废话吗……)
内含0~9的造型,比如这样:
(其中的字体可以自行选择,但请一定要保证造型顺序是0~9并且全部对准中心点)
————激动人心的分割线————
在写代码之前,我得保证你知道自定义模块和克隆体是什么
如果你不知道……先学习了这些再过来吧!
如果知道,那我们就开始吧!
2021年03月22日 11点03分 2
level 5
红帽RH◎ 楼主
首先我们需要新建一个用来显示数字的自定义模块。
就像这样:
(温馨提示,请一定要勾选左下角的“运行时不刷新屏幕”,否则成果做出来你会啸着看下去的)
然后……再新建一个变量
这个变量是用来存放当前打印的数字位数的,且随着位数的增加而增加
它可能看起来是这样子,或者,随便,只要你能理解就行:)
在此教程中,它看起来是这样子的
然后我想你已经准备好要打印的变量了吧?!
很好
————
首先,我们要让这个数字角色隐藏起来
接下来就是写那个自定义模块里面的东西了……
2021年03月22日 12点03分 3
level 5
红帽RH◎ 楼主
首先我们要初始化这个角色的位置(看你想在哪里显示)和刚刚的“位数”变量:
然后,让我们好好回忆一下小学知识,我们是怎么写出数字的?
【位——数——和——所——在——位——数——上——的——数——字——】
是的,我们程序也是一样,唯一不同的是,咱们要一步一步地告诉我们的程序该如何写出来!
首先我们要确定位数:
“xx的字符数”可以让程序知道这个字符串(或着变量里面的内容,甚至是sc里的以单词作为输出的布尔值)的字符数,它会以一个数字的形式作为输出。
总之,这个重复执行的次数是以数字的字符数来决定的。
然后是切换造型。
刚刚我说了,造型一定,一定要按照0~9的顺序来排列。
现在有用了。
我们要做的,就是让计算机知道这是哪一个数。
(OS:这东西放到py可能比sc还好写……)
就是“变量的第几项数字在造型里是哪一个造型”
作为公式,它是这样的:变量的第位数(刚刚的变量)个字符+1
写起来是这样子:
然后把这么一个东西套到“切换造型”里面就可以了。
接下来就是克隆这个角色。
写起来就是这么个东西。
然后作为克隆体的显示我也不想细讲了……
接下来就是挪位置。我们要让角色向右稍稍移动,具体移动距离根据你的造型而定。
最后一步,就是要把“位数”这个变量加一(这样就能在下一次循环的时候打印下一个数字了)
看起来是这样子:
2021年03月22日 12点03分 4
level 5
红帽RH◎ 楼主
最后就是刷新了。
实际上这里真的,真的没啥可以多讲的。
大概就是发送一个广播删除克隆体,然后执行这个自定义模块。
别忘了,要套上重复执行。
看起来这样子:
至此,我们的代码就完成了!
如何,是不是感觉自己好舒爽,感觉自己可以做大作了?
——早着呢!数显只是一个作品中很小的一部分,小到一部剧中的路人甲……
不过没关系,从数显开始知道,后面慢慢学嘛!
最后,如果有讲的不清楚的地方欢迎补充,如果还有什么问题就尽管提出来吧!XD
2021年03月22日 12点03分 5
level 5
红帽RH◎ 楼主
另外,我在A营发了作品,大家去看一下,欢迎下载:https://aerfaying.com/Projects/794190
2021年03月22日 13点03分 6
level 2
其实没必要刷新这个广播,可以直接判定你所要显示的数值的位数然后进行克隆,在克隆体程序里用循环判定更改数值(
2021年03月22日 14点03分 7
level 5
红帽RH◎ 楼主
根据上面那位的说法,我稍微改了一下代码,如下:
首先我新建了一个叫“总位数”的变量,然后是……我把“位数”这个变量改成局部变量。
至于局部变量是啥……
记得新建变量的时候勾上这个,就可以了
局部变量,首先这个变量是这个角色独有的变量
其次局部变量也可以让这个角色的每一个克隆体独有这个变量,且每一个克隆体可以单独更改这个变量
具体我后边可能专门开个贴慢慢讲,不过现在,我们继续。;)
2021年03月23日 05点03分 8
level 5
红帽RH◎ 楼主
哦对了,刚刚忘记讲了
总位数在后面也要调整回来,以此来减少刷新频率
详细判断请看上面的截图
2021年03月23日 05点03分 9
level 5
红帽RH◎ 楼主
然后是精简过的自定义模块:
仔细对比你会发现,切换造型的代码它消失了
因为它挪到克隆体的脚本里面了:
首先我们要让克隆体显示。
然后这里我们换成了一个“重复执行直到”的循环
这里的“位数”是局部变量(就是这个克隆体独有的变量)
检测这个克隆体所属于的位数,然后切换对应位数所在的造型
然后检测主变量的字符数有没有小于位数
是则删除克隆体,不是则继续切换造型
2021年03月23日 06点03分 10
level 5
红帽RH◎ 楼主
第二种的优点是:少了一个广播
但是个人更推荐第一种
2021年03月23日 06点03分 11
level 5
柠檬dd
2021年03月23日 10点03分 12

2021年03月23日 10点03分
level 5
红帽RH◎ 楼主
自顶
2021年03月30日 04点03分 13
level 9
??感觉好麻烦,一个角色重复执行将造型切换为变量的第几个数不就好了,加个=空格不成立
2021年04月04日 15点04分 14
谢谢建议XD
2021年04月05日 05点04分
level 7
在新号上dd
2022年01月26日 06点01分 15
1