动画参考
大约 2 分钟
动画参考
WebGAL 支持设置连续的 变换效果 ,从而实现多段动画。
一个变换效果对象如
{
"position": {
"x":-500,
"y":20
},
"rotation":0.3,
"blur":10
}
一个动画片段对象则是在变换效果对象的基础上,添加了一些其他属性,如持续时间等
{
"position": {
"x":-500,
"y":20
},
"rotation":0.3,
"blur":10,
"duration":500,
"ease":"easeInOut"
}
多个动画片段对象可以组成一个动画
[
{
"duration":0
},
{
"position": {
"x":-500,
"y":20
},
"duration":500
},
{
"rotation":0.3,
"duration":300
},
{
"blur":10,
"duration":200
}
]
除了一些必要的属性外(如 duration),动画片段对象的很多属性都可以省略,WebGAL 会根据情况使用默认值或者继承现有值来补全。
相关信息
继承现有值的「现有值」是指,在执行动画前,目标对象的变换效果快照,而不是上一个动画片段的结束状态。
; 立绘对象初始坐标为 (-500,0)
changeFigure:character_a/normal.png -id=aaa -transform={"position":{"x":-500,"y":0}};
; 多段动画的坐标依次为
; (-500,0) -> (500,0) -> (-500,20)
setTempAnimation:[{"duration":0},{"position":{"x":500},"duration":500},{"position":{"y":20},"duration":500}] -target=aaa;
动画里的第一个片段为起始状态,通常 duration 设为 0 即可,即使设置了大于 0 的数,也不会有动画效果。
您仍然可以为第一个片段设置变换效果属性,这样可以在动画开始时直接跳转到指定状态。
; 立绘对象初始坐标为 (-500,0)
changeFigure:character_a/normal.png -id=aaa;
; 从左走到右,动画开始时直接跳转到左边
setTempAnimation:[{"position":{"x":-500},"duration":0},{"position":{"x":500},"duration":1000}] -target=aaa;
参数
duration
- 数字
- 单位:毫秒
- 必填
每个动画片段的持续时间。
changeFigure:1/open_eyes.png -id=aaa;
setTempAnimation:[{"position":{"x":-500},"duration":0},{"position":{"x":500},"duration":1000}] -target=aaa;
ease
- 字符串
填写缓动类型,控制动画的缓动效果,默认值为 easeInOut,可选值包括
linear:线性easeIn:缓入easeOut:缓出easeInOut:缓入缓出circIn:圆形缓入circOut:圆形缓出circInOut:圆形缓入缓出backIn:起点回弹backOut:终点回弹backInOut:起止回弹bounceIn:起点弹跳bounceOut:终点弹跳bounceInOut:起止弹跳anticipate:预先反向
任何其他字符串都会回退到默认值。
changeFigure:1/open_eyes.png -id=aaa;
setTempAnimation:[{"position":{"x":-500},"duration":0},{"position":{"x":500},"duration":1000,"ease":"bounceOut"}] -target=aaa;