当前有1个用户在线。
把关卡中的方块从滚动着移动变成滑行着移动! 注意:这个mod只是改变了移动时的动画,别以为你真的能从这种地方滑出去。
1.1 更新内容:改进了翻上去的动画。(by @Mygod) 1.2 更新内容:现在比上一个版本匀速 80%!(by @Mygod) 1.3 更新内容:现在比上一个版本匀速 50%!另外增加摩擦地面的特效!(by @Mygod)
Mygod
2013-10-26 09:14
永久连接
P.S. 帮你改了下翻上去的动画。
EDIT: 现在方块移动比上一版本匀速 80%! 随手写点奇怪的东西…… 经观察可猜测游戏对方块翻滚动画的播放使用此公式计算:s(1-cos(pi*t/2)), t,s ∈ [0,1] 其中 s 函数为 ean 文件中对应的 @KeyframeBlock。 为了能使 s(1-cos(pi*t/2))=t,解得 s(t)=2*acos(1-t)/pi,然后使用 Python 命令行生成 t = {0, 1/32, 2/32, 3/32, ..., 31/32, 1} 所对应的 s(t) 即可:
import math for i in range(0,33): print 2*math.acos(1-i/32.0)/math.pi
实验证明方块移动不是很匀速,说明之前对播放动画的假设 s(1-cos(pi*t/2)), t,s ∈ [0,1] 不正确。 一会儿再去试试 s(t^2), t,s ∈ [0,1]……
EDIT: 效果比上一版好了 50%!准备发布中……
评论
Mygod
2013-10-26 09:14
永久连接
不错!4/5
P.S. 帮你改了下翻上去的动画。
EDIT:
现在方块移动比上一版本匀速 80%!
随手写点奇怪的东西……
经观察可猜测游戏对方块翻滚动画的播放使用此公式计算:s(1-cos(pi*t/2)), t,s ∈ [0,1]
其中 s 函数为 ean 文件中对应的 @KeyframeBlock。
为了能使 s(1-cos(pi*t/2))=t,解得 s(t)=2*acos(1-t)/pi,然后使用 Python 命令行生成 t = {0, 1/32, 2/32, 3/32, ..., 31/32, 1} 所对应的 s(t) 即可:
实验证明方块移动不是很匀速,说明之前对播放动画的假设 s(1-cos(pi*t/2)), t,s ∈ [0,1] 不正确。
一会儿再去试试 s(t^2), t,s ∈ [0,1]……
EDIT: 效果比上一版好了 50%!准备发布中……