无法从XNA Framework C#上的另一个类接收值

时间:2019-02-22 17:11:42

标签: xna

我的项目中有几个类:Game1(主类(默认)),Animation和Enemy:

public class Animation 
{
      public  int currentFrameHit;
      public Animation ()
      {
      }

      public void Update(GameTime gameTime)
      {
          timeElapsedHit += gameTime.ElapsedGameTime.Milliseconds;
          if (timeElapsedHit > 100)
          {
              timeElapsedHit = 0;
              currentFrameHit = (currentFrameHit + 1) % 9;
          }
       }
}

如何从Animation类中的变量获取值? 在敌人类中,我无法从Animation接收此值。我尝试过:

   Animation animation = new Animation();
   Console.WriteLine(animation.currentFrameHit);

但是我得到的是null,但是在主类Game1中,我使用相同的代码接收到正确的值。

2 个答案:

答案 0 :(得分:0)

问题是您正在制作new Animation()而未将其分配给任何内容。因此它将继续返回其默认值。

到目前为止,有关该数字应该多少的信息还不够。您是否在Enemy类中具有Animation()类,还是在Animation()中找到了敌人类?

答案 1 :(得分:0)

您需要引用现有的动画值。

在您的欲望类(这里是Game1)中创建一个实例,不要忘记将其公开。

public static Animation animationGame1 = new Animation();

然后在第二堂课中

在LoadContent()中:将其引用到Game1的变量:

Animation animationNewClass = Game1.animationGame1;

在Update()中:做您想实现的目标:

Console.WriteLine(animationNewClass.currentFrameHit);

希望这会有所帮助。

相关问题