猫史档案馆


【教程帖】案例:数字特效(kitten基础版)

用户:SKQASKQA查看:0 回复:3 评论:0 创建时间:2020-05-07T14:16:13


好久没写教程帖了~

这次我们来一个案例:数字特效。

一、看看效果

你们有没有觉得纯内容变量有点单调、难看?这次的数字特效,就是把数字变得色彩缤纷!

二、角色

因为数字特效应该很多数字角色,但是又会有很多位数字,一定需要用克隆。我们只需要一个有0到9造型的数字角色就可以了!可以去素材商城里去找,这里用的是素材商城中的“青字黑框数字”~

三、程序

开始我们的程序吧!

任务1 保存数据

首先我们需要有一个变量,保存这个数字。

调成纯内容更好看!

任务2 确定大小and位置

开始建造数字!

首先,我们一定要确定数字的大小,因为数字角色是一个数字一个数字的,所以角色的大小取决于数字的位数

那么如何确定角色的大小?那就一定需要一个标准大小,做参照物

这里我们就用100个坐标单位。打开kitten中的坐标,发现如果数是一位数,那么角色大小大约是175

确定好了一位数的大小是175,就可以得出如果它是几位数,大小大约就是175除以几

center_image

那怎么确定位置呢?显然,这位置在最中间,肯定是X坐标是正多少和相对应的负多少

经计算发现,

如果是两位数,则X坐标为-50、50

如果是三位数,则X坐标为-50、0、50

不需要想的很复杂,这些数字还是有规律的!

参照数值是200坐标,那么参照的位置就是-100~100嘛~

那么就只需要把两边的-100~0、0~100这两个位置分成多少半不就得了嘛!

两位数就把-100~0分一半变-50,0到100分一半变50,两个坐标就出来咯!

三位数的话,第二位肯定是占0的,后面就把这两个位置分半就得了!

如果是四位数呢?那就是把两边的-100~0分两半-67、-33(四舍五入),0~100分两半33、67就把四个坐标全求出了!

显然,我们要做的就是首先移到第一个坐标,然后依次往右移动多少,每次同时克隆一次,如此循环直到到达最后一个位置。

如果数位是奇数,并且不是一位数,第一个坐标的Y肯定是0,第一个坐标的X就是:

center_image

问我这代码哪来的 的人全部给我关到小黑屋里去!之前讲过了!

emotion_doge

如果数位是偶数,那么第一个坐标的X就是:

center_image

那如果是一位数,那么……就是0咯!

任务3 摆放数字

上面说过,我们要做的就是移到第一个坐标,然后依次向右移动多少,接着克隆。

上面全说过,所以这里直接给积木:

center_image

如何克隆?

数位是1,一位数,一个数字不需要克隆

我就猜有的人,就在下面继续写:如果数位不是1,那么就克隆……

这样的人,说明没看懂“检查”章“程序的正确性”节中的内容……

在这节中,我说过代码审查,检查点包括命名规范、程序架构、代码重复、程序可读性、程序扩展性等。

而这些人没有做到,代码长的话,可读性、扩展性都会减少!

接下来给大家带来一个绝妙的方法

刚才判断过了是否位数为1,那何必再判断一次呢?这里的“如果……否则如果……否则”就不太管用了。

因为这里的“否则如果”无法继续写积木,所以我们选择用两个“如果……否则”

代码就是酱:

center_image

这里的克隆需要用重复直到,检测是否达到那个地步。

那个地步就是:

center_image

(代码超长,请将网页大小放大至200%或右键选择“在新标签页打开图片”)

这个东西自己理解……为了保险,我这里没用=,我用了≥

如何检测每个克隆体中间的间隔

之前说过……交给你吧……

接下来就是重复克隆

同时X坐标增加间隔

还有就是造型切换

也没什么难度

但是要注意数据类型转换问题

这个教程我写了几个小时

来之不易

我知道这么长的代码一定有更简洁的办法

所以请dalao指出~


回复

上一页1 页 / 共 1下一页
YM小福fuYM小福fu

沙发emotion_doge

点赞0


评论


燚卿燚卿

棒棒哒~

点赞0


评论


小火龙啊呜小火龙啊呜

666666666

 

点赞0


评论