public class Arrow : MonoBehaviour {
public virtual void StopArrow(Transform p){
arrowRotation = transform.rotation;
isRelease = false;
rb.velocity = new Vector3(0, 0, 0);
transform.SetParent(p);
transform.rotation = arrowRotation;
}
}
public class ExplosiveArrow : Arrow {
override void StopArrow(Transform p){
base.StopArrow();
}
}
这给了我这个错误:C#如何重写功能与参数
Assets/Script/ExplosiveArrow.cs(33,23): error CS0621: `ExplosiveArrow.StopArrow(Transform)': virtual or abstract members cannot be private
和
Assets/Script/ExplosiveArrow.cs(33,23): error CS0507:
ExplosiveArrow.StopArrow(UnityEngine.Transform)
: cannot change access modifiers when overridingpublic
inherited memberArrow.StopArrow(UnityEngine.Transform)
错误说明了所有 - 将'override void StopArrow'改为'public override void StopArrow' – tinamou