如何在单独的脚本中检查来自其他类的int类型

本文关键字:其他 类型 int 单独 脚本 检查 | 更新日期: 2023-09-27 18:07:20

我在Unity3D中制作游戏,我有两个不同的脚本。一个叫做Rays(它检查我点击的对象并降低它的hp),一个叫做colorChange(它根据我点击的对象的hp改变它的颜色)的脚本。我在colorChange中创建了hp变量,我需要在Ray中检查hp

如何在单独的脚本中检查来自其他类的int类型

所以"colorChange"脚本依赖于"Rays"脚本,对吗?然后你可以通过使用[RequireComponent]标签来定义"colorChange"脚本,期望在相同的GameObject上有一个"Rays"组件这里:https://docs.unity3d.com/ScriptReference/RequireComponent.html

然后在"colorChange"的"Awake"函数中检索对"Rays"的引用。如果"Rays"中的"hp"变量具有公共访问权限,那么在"colorChange"中,您可以使用获得的对"Rays"脚本的引用来检查其当前值。

脚本"Rays"示例:

using UnityEngine;
public class Rays : MonoBehaviour {
    private int hp = 0;
    public int Hitpoints {
        get { return hp; }
    }
    // ... other methods ...
}

脚本"colorChange"示例:

using UnityEngine;
[RequireComponent (typeof (Rays))]
public class colorChange : MonoBehaviour {
    private Rays raysReference = null;
    protected void Awake() {
        raysReference = GetComponent<Rays>();
    }
    protected int getRaysHitpoints()  {
        return raysReference.Hitpoints;
    }
    // ... other methods that may use getRaysHitpoints ...
}