猫史档案馆


非线性的制作

用户:旅行者N号旅行者N号查看:0 回复:0 评论:0 创建时间:2024-08-04T13:39:23


很多小伙伴作品里可能用的都还是[在( )秒,内移到x(),y()]或者[在( )秒,内将[x]坐标[增加]( )]这类线性移动积木,看起来非常不丝滑,今天教大家的就是丝滑的非线性移动/旋转/改变大小。

首先,非线性意味着每时每刻的速度不一样。肯定有小伙伴一下就想到:把速度存在变量里,再改变变量不就能做到了嘛!没错,所以对应的代码就是:center_image

是这样没错,也能实现非线性,一般用于实现引力效果。但是移动之后的坐标非常难掌控,可能要试上几十遍才能做到完美的移至坐标。有没有方法能够直接掌控坐标呢?当然有!很简单,因为除了设一个变量使它变化外,还有一个数值也在变化:角色的坐标!

所以,我们可以做一个基于角色的坐标与目标坐标的差来设置速度的非线性移动程序。当当!center_image

注:500是目标x坐标。

顺带说一下,移动距离500及以内的除数取值为5~8,501~1000的取值8~12,1000往上用14最好。这个就是非线的特效。

但如果仅仅是非线,可能还不具很高的观赏性。那就让我们把非线和其他的特效混搭起来——center_image

(该代码出自LN社区2.13_暑假快乐的屏幕1的标题角色)

不要问我为什么不给旋转也用上非线特效,我试过,结果就是看起来非常的瘆人,这里就不展示代码效果了。本教程至此完结。


回复

上一页1 页 / 共 0下一页