我对C#很新,并且开始了我的游戏基础的教程,一切顺利......使用Unity但是太烦了我这么简单的代码..我从Unity复制了代码,这是现在没有错误,一切看起来都不错。我有多个问题,到目前为止我已经设法解决但现在有一个我找不到任何地方的解决方案,甚至有同样问题的人..
基本上我的游戏以一个Windows窗体开始,它实例化(我认为是单词......)一个名为Game的类。游戏包含绘图的主要代码,在游戏中创建对象等。
这样运行正常,并且更新方法中的所有内容都可以正常运行,但是另一个类'Ship'也会创建,其中还包含Update方法(在教程中如此工作)。在编辑我的游戏之后,Ship类中的Update方法就不会执行了。据我所知,“public void Update() {//code}
”会在每个游戏步骤中运行,但现在不再存在。
所以我的问题:实例化的类中的Update方法不会运行。
正如我所说,我对C#非常陌生(也是我在这里发表的第一篇文章),但如果需要更多内容,我现在将在下面提供更多详细信息,对不起,如果它没用,只是不知道真正的相关内容:
Game类中的Update方法运行良好:
protected override void Update(GameTime gameTime)
{
cameraPosition = new Vector3(ship.position.X - ship.direction.X * 12, ship.position.Y - ship.direction.Y, ship.position.Z - ship.direction.Z * 12);
viewMatrix = Matrix.CreateLookAt(cameraPosition,ship.position, Vector3.Up);
base.Update(gameTime);
}
和实例化的Ship中的代码(不会执行):
public void Update()
{//code here isn't important i think, i will provide if requested its just that there is a lot and i inserted a breakpoint in the "Update()" line which is never executed therefore this code is never reached..
}
这两个类都实例化如下: 游戏=新游戏();
抱歉,我不确定还能提供什么,这真的令人困惑? O.o Ship Class中的代码执行,而不是Update方法..没有警告或其他错误,游戏只是不会执行此类'更新代码
..谢谢