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