跳到主要内容

位置动画教程

如需使用 Konva 为图形的位置设置动画,可以通过 Konva.Animation 创建新动画。 此动画会在每一帧修改图形的位置。

如需查看完整的属性和方法列表,请参阅 Konva.Animation 文档

import Konva from 'konva';

const stage = new Konva.Stage({
container: 'container',
width: window.innerWidth,
height: window.innerHeight,
});

const layer = new Konva.Layer();
stage.add(layer);

const circle = new Konva.Circle({
x: 50,
y: window.innerHeight / 2,
radius: 30,
fill: 'red',
stroke: 'black',
strokeWidth: 4,
});
layer.add(circle);

const amplitude = 100;
const period = 2000; // in milliseconds

const anim = new Konva.Animation(function(frame) {
circle.x(
amplitude * Math.sin((frame.time * 2 * Math.PI) / period) +
window.innerWidth / 2
);
}, layer);

anim.start();