Unity 2D - HP吧

时间:2016-11-10 09:15:24

标签: unity3d unity5

当我的跑步者碰撞障碍物时,我的HP栏的值会下降。当然,HP的价值正常下降,但HP栏的图像不会改变。为什么我会收到错误?

public class CsRunner : MonoBehaviour
{
    public Vector2 jumpVelocity;
    public float _hp = 100f;
    public float _curHP;
    bool isJump;
    public Image _hpValue;

    bool collision_box;

    // Use this for initialization
    void Start()
    {
        _hpValue = GameObject.Find("HPbar").GetComponent<Image>();
        _curHP = _hp;
    }

    // Update is called once per frame
    void Update()
    {
        _hpValue.fillAmount = _curHP / _hp;

        if (Input.GetKeyDown(KeyCode.Space) && isJump)
        {
            isJump = false;
            transform.GetComponent<Rigidbody2D>().AddForce(jumpVelocity/2, ForceMode2D.Impulse);
        }

        if ((Input.GetKeyDown(KeyCode.Space) || Input.GetMouseButtonDown(0)) && collision_box)
        {
            isJump = true;
            transform.GetComponent<Rigidbody2D>().AddForce(jumpVelocity, ForceMode2D.Impulse);
        }

        else
        {
            GetComponent<Animator>().SetTrigger("Run");
        }
    }

    void OnTriggerEnter2D(Collider2D coll)
    {
        if (coll.transform.tag == "Enemy")
        {
            _curHP--;
            _hpValue.fillAmount = _curHP / _hp;
        }
    }
}

以下是我的场景的截图:

enter image description here

enter image description here

谢谢!

0 个答案:

没有答案