Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何更改以更新KonvaJS中的属性_Javascript_Konvajs - Fatal编程技术网

Javascript 如何更改以更新KonvaJS中的属性

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

我有下面一段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', '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固体石灰;
}

增加生命


代码看起来不错。如果希望看到更改,则需要更新图层<代码>图层绘制()。