GDScript 中的堆栈溢出

Stack overflow in GDScript

我在 GDScript 中遇到堆栈溢出问题。

Debugger

(Code to reproduce :)

extends Node
class_name MatchSession

func add_child(ch, un=true):
   add_child(ch, un)
   if get_child_count() == 2:
      _start_match_session()

在您的代码中,add_child 递归调用 add_child,没有停止条件:

func add_child(ch, un=true):
   add_child(ch, un) # <--
   if get_child_count() == 2:
      _start_match_session()

另请注意,Node.add_child 不是虚拟的。你在遮蔽它。我建议为您的函数选择另一个名称。