我一直在使用C#进行编码,但遇到了一些问题。我一直在关注这个YouTube教程,但是出现了一些错误。在Walking状态代码中的第七行,它说:
Error CS0507 'WalkingState.ProcessMotion(Vector3)': cannot change access modifiers when overriding 'public' inherited member 'BaseState.ProcessMotion(Vector3)'
这是什么意思,我该如何解决?
基础状态代码:
using UnityEngine;
using System.Collections;
public abstract class BaseState : MonoBehaviour
{
protected BaseMotor motor;
#region baseState implementation
public virtual void Construct()
{
motor = GetComponent<BaseMotor>();
}
public virtual void Destruct ()
{
Destroy(this);
}
public virtual void Transition ()
{
}
#endregion
public abstract Vector3 ProcessMotion(Vector3 input);
public virtual Quaternion ProcessRotation(Vector3 input)
{
return transform.rotation;
}
}
运行状态代码:
using UnityEngine;
using System.Collections;
public class WalkingState : BaseState
{
protected override Vector3 ProcessMotion(Vector3 input)
{
return input * motor.Speed;
}
}