核心

  • Node的move_child()方法 将给定的子节点移动到给定的位置
  • Node的get_index()方法 返回子节点在同级兄弟节点中的位置索引
  • Node的get_child_count()方法 返回第一级子节点的数量(不包含子节点的节点)
  • Node的get_parent()方法 返回父节点

image.png

  1. # 置顶
  2. func move_to_topst():
  3. var idx = get_index() # 当前子节点在父节点中的索引
  4. var p = get_parent() # 父节点
  5. p.move_child(self,0)
  6. # 上移一层
  7. func move_to_toper():
  8. var idx = get_index() # 索引
  9. var p = get_parent() # 父
  10. if idx-1 >=0:
  11. p.move_child(self,idx-1)
  12. # 下移一层
  13. func move_to_bottomer():
  14. var idx = get_index() # 索引
  15. var p = get_parent() # 父
  16. if idx+1 <= p.get_child_count():
  17. p.move_child(self,idx+1)
  18. # 置底
  19. func move_to_bottomst():
  20. var idx = get_index() # 索引
  21. var p = get_parent() # 父
  22. p.move_child(self,p.get_child_count())