使用Konva.js的上下文菜单

时间:2018-06-14 10:02:23

标签: javascript canvas konvajs

我有一个包含多个物体的地图,如玩家,塔楼,敌人等。

使用此功能将它们添加到地图中:

const createCustomObject = (sides, radius, color, x, y) => {
  let customObject = new Konva.RegularPolygon({
    fill: color,
    x: x,
    y: y,
    sides: sides,
    radius: radius,
    id: returnID()
  });
  customObject.on("click", e => console.log(e.target.id()));
  addLayer(objectLayer, customObject);
};

现在我需要更改它,以便当用户点击任何customObject时,上下文菜单应显示可点击的选项,如“删除”,“显示ID”等。

我怎么能这样做?我正在考虑创建一个Konva.Rect() onclick并填充可点击的Konva.Text()对象,但也许我还缺少其他方式?我的看起来很难看。

1 个答案:

答案 0 :(得分:4)

这就是我所做的。我做了一个矩形,并将Konva.Text放在它上面。然后只为所有Konva.Text元素制作了onclick函数