Skip to main content

使用 HTML5 Canvas HTML5 Canvas 按类型选择形状教程

要使用 Konva 按类型选择形状,我们可以使用 find() 方法并传入类型名称或类名。
find() 方法返回与选择器字符串匹配的节点数组。

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 circle1 = new Konva.Circle({
  x: 50,
  y: stage.height() / 2,
  radius: 30,
  fill: 'red'
});

const circle2 = new Konva.Circle({
  x: 150,
  y: stage.height() / 2,
  radius: 30,
  fill: 'green'
});

const rect = new Konva.Rect({
  x: 250,
  y: stage.height() / 2 - 25,
  width: 50,
  height: 50,
  fill: 'blue'
});

layer.add(circle1);
layer.add(circle2);
layer.add(rect);

// 按类型查找所有圆形
const circles = layer.find('Circle');
circles.forEach(circle => {
  // 只给圆形添加动画
  circle.to({
    duration: 1,
    scale: { x: 1.5, y: 1.5 },
    easing: Konva.Easings.EaseInOut
  });
});