Godot-set_offset在Inspector中有效,但在代码中无效

时间:2019-10-31 17:30:24

标签: godot

如果我使用Inspector设置了偏移量,则敌人会从正确的偏移量生成,但是当通过下面的代码设置偏移量时,敌人不会这样做。还有...

print(spawn_point.get_offset()) 

...显示预期的1000,但敌人从(0,0)产生

想法?

extends Node

func generate_enemy(index):
    var enemy = get_node("enemies").get_child(index).duplicate()
    for child in get_node("common").get_children():
        enemy.add_child(child.duplicate())

    randomize()

    var spawn_point = get_node("SpawnPath/SpawnLocation")#.set_offset(1000)#randi() % 2000) # <<< remove 2000 after testing

    spawn_point.set_offset(1000)

    print(spawn_point.get_offset())
    print(spawn_point.get_h_offset())

    enemy.set_pos(spawn_point.get_pos())

    enemy.reference_bullet = enemy.get_node("reference_bullet").duplicate()
    enemy.remove_child(enemy.get_node("reference_bullet"))
    return enemy

1 个答案:

答案 0 :(得分:0)

就我而言,我已经从Path2D中删除了Curve2D,尽管我绘制了一个新的Curve,但由于某种原因它并没有保存。如果Path2D节点上的Curve属性没有撤消图标,则可能是相同的原因。只需关闭场景然后再次打开即可。