Konva.js 的上下文菜单
Context menu with Konva.js
我有一张包含多个对象的地图,例如玩家、塔、敌人等。
它们是通过以下功能添加到地图中的:
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
时,上下文菜单应显示可单击的选项,例如 "Delete"、"Show ID" 等。
我该怎么做?我正在考虑创建一个 Konva.Rect()
onclick 并填充可点击的 Konva.Text()
对象,但也许我错过了其他方法?我的好像有点丑。
我就是这么做的。我制作了一个矩形,并在其上方放置了 Konva.Text。然后为所有 Konva.Text 个元素制作了 onclick 函数
我有一张包含多个对象的地图,例如玩家、塔、敌人等。
它们是通过以下功能添加到地图中的:
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
时,上下文菜单应显示可单击的选项,例如 "Delete"、"Show ID" 等。
我该怎么做?我正在考虑创建一个 Konva.Rect()
onclick 并填充可点击的 Konva.Text()
对象,但也许我错过了其他方法?我的好像有点丑。
我就是这么做的。我制作了一个矩形,并在其上方放置了 Konva.Text。然后为所有 Konva.Text 个元素制作了 onclick 函数