c# - 从另一个类调用方法:“对象引用未设置为对象的实例。”
问题描述
我正在创建一种根据按下的键在屏幕上移动精灵的方法
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: '对象引用未设置为对象的实例
输入控制器为空
这是其他类的相关代码
private InputController InputController;
protected override void Update(GameTime gameTime)
{
InputController.DetectInput(_position);
}
解决方案
你的问题是 InputController == null。可能在您的代码中的某个地方,这没有被运行:
InputController = new InputController();
推荐阅读
- firebase - 将服务帐户密钥存储在代码中不是一个坏主意吗?Firestore 文档说我应该
- r - 如何一个接一个地组合/连接两个数据帧,但不合并R中的公共列?
- scala - Scala:有一个过滤器,从另一列中选择值
- c - 是否有一种独立于体系结构的方法来从 C 中的值创建小端字节流?
- java - 我可以使用旧的 Expo SDK 将我的 React Native 应用程序上传到 App Store 吗?
- angular - 从负数中删除破折号
- python - Keras Fit 功能的进度条
- python-3.x - 从文件加载的版本不符合 PEP 440
- javascript - 我怎样才能让一个 div 持有较小的 div 以在一行上保存 3 然后继续到下一行?
- javascript - 如何使用来自 Django 的 models.py 的数据创建一个按钮来更改我的 html 中的文本?