我正在尝试扩展我的玩家对象的基类。
玩家对象具有以下伤害脚本
using UnityEngine;
using System.Collections;
public class Damage : MonoBehaviour
{
public int health = 100;
public virtual void ReceiveDamage(int damageAmount)
{
Debug.Log ("Original");
}
}
接着,同一位玩家有另一个类似于这样的脚本:
using UnityEngine;
using System.Collections;
public class playerDamage : Damage
{
public override void ReceiveDamage(int damageAmount)
{
Debug.Log ("Extended");
}
}
但是当我像这样从另一个对象的第三方脚本中调用该脚本时:
var damageScript = collision.gameObject.GetComponent<Damage>();
if( damageScript)
{
damageScript.ReceiveDamage(damageAmount);
}
日志的唯一响应是“Original”。 难道不应该调用子程序并将“Extended”写入日志吗?
playerDamage
吗? - Preston GuillotUnity
标签指的是Unity应用程序块,而不是Unity3D游戏引擎。 - Dour High Arch