我编写了以下代码来损坏我的播放器,但是它不起作用。我已经尽可能多地检查了编码错误,我知道我的问题是标签。使用 Debug.log 功能,我能够确认问题不在于我的命中框,并且标签设置正确。相同的系统反过来对我的玩家弹丸造成伤害。但是,使用我的播放器进行设置时它不起作用。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class DamageToPlayer : MonoBehaviour {
public float damageAmount;
public void OnCollisionEnter(Collision col)
{
if(col.gameObject.tag == "Player")
{
Debug.Log("nearlyThere");
PlayerHealth ifPlayer = col.gameObject.GetComponent<PlayerHealth>();
if(ifPlayer != null)
{
ifPlayer.PlayerDamage(damageAmount);
Debug.Log("TOUCH");
}
}
}
这是敌人的密码。
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class PlayerHealth : MonoBehaviour {
public float PlayerStartHealth;
public float playerHealth;
public Text text;
public void Start () {
playerHealth = PlayerStartHealth;
}
public void PlayerDamage(float pAmount)
{
playerHealth -= pAmount;
if (playerHealth <= 0)
{
EndLevel();
}
}
public void EndLevel()
{
Debug.Log("u died m8");
}
public void FixedUpdate()
{
text.text = playerHealth.ToString();
}
这是更多信息:控制台上没有出现任何调试。这就是我知道问题的方式。
}
这是玩家健康码本身。我不知道为什么这不起作用。
相关分类