我正在创建一种根据按下的键在屏幕上移动精灵的方法
class InputController
{
public void DetectInput (Vector2 position)
{
if (Keyboard.GetState().IsKeyDown(Keys.W))
{
position.Y -= 1;
}
if (Keyboard.GetState().IsKeyDown(Keys.S))
{
position.Y += 1;
}
if (Keyboard.GetState().IsKeyDown(Keys.A))
{
position.X -= 1;
}
if (Keyboard.GetState().IsKeyDown(Keys.D))
{
position.X += 1;
}
尝试从我的其他班级调用,如果出现错误:
<块引用>System.NullReferenceException: '未将对象引用设置为对象的实例
InputController 为空
这是其他类的相关代码
private InputController InputController;
protected override void Update(GameTime gameTime)
{
InputController.DetectInput(_position);
}
答案 0 :(得分:2)
您的问题是 InputController == null。可能在您的代码中的某个地方,它没有运行:
InputController = new InputController();