<分区>
我一直在使用 C# 进行编码,但遇到了一些问题。我一直在关注this YouTube tutorial我有一些错误。在 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;
}
}