动画#
使用 animate 关键字为属性声明动画,如下所示:
export component Example inherits Window {
preferred-width: 100px;
preferred-height: 100px;
background: area.pressed ? blue : red;
animate background {
duration: 250ms;
}
area := TouchArea {}
}
这将在颜色属性更改时每 100ms 动画一次。
使用以下参数微调动画:
delay:开始动画之前等待的时间量duration:动画完成所需的时间量iteration-count:动画应运行的次数。负值指定无限次重播。可能的分数值。 有关永久运行的动画,请参见animation-tick()。easing:可以是以下任何内容。有关可视参考,请参见easings.net:linearease-in-quadease-out-quadease-in-out-quadeaseease-inease-outease-in-outease-in-quartease-out-quartease-in-out-quartease-in-quintease-out-quintease-in-out-quintease-in-expoease-out-expoease-in-out-expoease-in-sineease-out-sineease-in-out-sineease-in-backease-out-backease-in-out-backease-in-circease-out-circease-in-out-circease-in-elasticease-out-elasticease-in-out-elasticease-in-bounceease-out-bounceease-in-out-bouncecubic-bezier(a, b, c, d)如 CSS 中所示
缓动示例也可以在
gallery示例的Easings选项卡中找到。
也可以使用相同的动画来动画化多个属性,因此:
animate x, y { duration: 100ms; easing: ease-out-bounce; }
与
animate x { duration: 100ms; easing: ease-out-bounce; }
animate y { duration: 100ms; easing: ease-out-bounce; }
是一样的。