之前在这部分遇到了一个问题,就是Area2D的body_entered信号处理函数中,直接使用了body.free()删除掉进篮子的苹果,结果发现一旦写了这段信号处理函数,就会出错。半天没找着原因,结果刚才突然想到,Area2D是篮子这个节点的子节点,而其区域无论如何是与篮子重合的,所以body_entered中用body.free()首先会删除篮子本身,从而引发错误。
    image.png
    解决办法就是判断节点和类型或分组,可以使用节点的is_in_group()方法判断其是不是在apples分组下。
    image.png
    在UI节点挂载的脚本中书写了addApple方法用于增加苹果计数。其中使用了两次as 用于类型转化。
    image.png
    接住苹果后计数已经实现:
    image.png