如何用代码修改Godot中Polygon2D节点的指定顶点位置?
解决Polygon2D节点顶点位置的代码设置问题
修改已有Polygon2D节点的顶点
你之前的代码问题在于新建了一个Polygon2D实例,但没有操作你实际要修改的目标节点。如果要修改场景中已存在的Polygon2D,直接获取该节点并修改polygon属性即可:
# 替换为你的目标Polygon2D节点路径,比如$Polygon2D var target_poly = $Polygon2D # 设置所有顶点坐标 target_poly.polygon = [[0, 0], [100, 100], [400, 500]]
新建并添加Polygon2D节点到场景
如果是要创建新的Polygon2D并让它显示在场景中,必须将新建的节点添加到场景树:
var newPoly = Polygon2D.new() newPoly.polygon = [[0, 0], [100, 100], [400, 500]] # 将新节点添加为当前节点的子节点 add_child(newPoly)
修改单个特定顶点
如果只想调整某一个顶点的位置,无需重新设置整个顶点数组,可单独修改对应索引的元素:
var target_poly = $Polygon2D # 获取当前顶点数组 var vertices = target_poly.polygon # 修改索引为1的顶点(数组从0开始,对应第二个顶点) vertices[1] = [200, 200] # 将修改后的数组重新赋值给polygon属性 target_poly.polygon = vertices
内容的提问来源于stack exchange,提问作者Reuben Levine
相关产品推荐
相关产品推荐

