Javascript 如何更改以更新KonvaJS中的属性
我有下面一段Konva代码,我正在尝试更新文本属性Javascript 如何更改以更新KonvaJS中的属性,javascript,konvajs,Javascript,Konvajs,我有下面一段Konva代码,我正在尝试更新文本属性 var lifePoint = new Konva.Text({ x: 50, y: 50, id: 'P1', text: 'Player Lifepoint: 100', fontSize: 30 }); 阅读文档后,我尝试: // find and change text const test = layer.find('#P1')[0]; test.setAttr('text', 'change
var lifePoint = new Konva.Text({
x: 50,
y: 50,
id: 'P1',
text: 'Player Lifepoint: 100',
fontSize: 30
});
阅读文档后,我尝试:
// find and change text
const test = layer.find('#P1')[0];
test.setAttr('text', 'changed');
有人能告诉我我做错了什么吗?根据@lavrton的评论,你需要再次绘制图层才能看到变化。请参阅下面的工作片段-为了好玩,我添加了一个按钮
var-pts=100;
//搭建舞台
var阶段=新Konva.阶段({
容器:'容器',
宽度:650,
身高:300
});
//制作一层并添加到舞台
var layer=新Konva.layer();
阶段。添加(层);
//创建文本节点并添加到后台
var lifePoint=new Konva.Text({
x:50,
y:30,
id:'P1',
文字:“玩家生命点:”+pts,
尺寸:30
});
层。添加(生命点);
layer.draw();//我最喜欢忘记!
//当用户获得更多生命点时,添加它们。
$(#addlife')。在('click',函数(e)上{
//查找和更改文本
var text=layer.find('#P1')[0];
pts=pts+10;
setAttr('text','Player Lifepoint:'+pts);
layer.draw();//记住重新绘制图层以查看更改!
})
#容器
{
宽度:400px;
高度:100px;
边框:1px固体石灰;
}
增加生命
代码看起来不错。如果希望看到更改,则需要更新图层<代码>图层绘制()。