静态

有时候我们需要定义一些“工具方法”,例如获取两个敌人中生命值较高的那一个:

func 获取生命值高(敌人1, 敌人2):
    if 敌人1.生命值 > 敌人2.生命值:
        return 敌人1
    return 敌人2

这样的方法只能在当前这个脚本中使用,其他脚本如果想用,就需要先获取上述代码所在脚本的实例,这明显会很麻烦。

回想我们之前使用过的方法 Input.get_action_strength,我们就直接通过 Input 这个类名使用了里面的方法,这种方法被称为静态方法,在 GDScript 中使用 static 关键字标注:

static func 获取生命值高(敌人1, 敌人2):
    if 敌人1.生命值 > 敌人2.生命值:
        return 敌人1
    return 敌人2

这样,如果上面代码所在的文件中定义了类名 class_name 工具,即可在任意代码处使用 工具.获取生命值高 来调用这个方法。