如何使用 Konva 动画移动?
要使用 Konva 动画一个形状的位置,我们可以创建一个新的动画 Konva.Animation
,在每一帧动画中修改形状的位置。
有关属性和方法的完整列表,请查看 Konva.Animation 文档。
Konva 动画位置示例view raw<!DOCTYPE html> <html> <head> <script src="https://unpkg.com/konva@9.3.18/konva.min.js"></script> <meta charset="utf-8" /> <title>Konva Animate Position Demo</title> <style> body { margin: 0; padding: 0; overflow: hidden; background-color: #f0f0f0; } </style> </head> <body> <div id="container"></div> <script> var width = window.innerWidth; var height = window.innerHeight;
var stage = new Konva.Stage({ container: 'container', width: width, height: height, });
var layer = new Konva.Layer();
var hexagon = new Konva.RegularPolygon({ x: stage.width() / 2, y: stage.height() / 2, sides: 6, radius: 20, fill: 'red', stroke: 'black', strokeWidth: 4, });
layer.add(hexagon); stage.add(layer);
var amplitude = 100; var period = 2000; var centerX = stage.width() / 2;
var anim = new Konva.Animation(function (frame) { hexagon.x( amplitude * Math.sin((frame.time * 2 * Math.PI) / period) + centerX ); }, layer);
anim.start(); </script> </body> </html>
|