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

问题描述 投票:0回答:2

我的项目有几个类:Game1(主类(默认)),动画和敌人:

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类中的变量中获取值?在Enemy类中,我无法从动画中获得此值。我试过了:

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

但是我得到了null,但是在主类Game1中我收到了具有相同代码的正确值。

xna
2个回答
0
投票

问题是你制作了一个new Animation()而没有把它分配给任何东西。所以它会继续返回它的默认值。

到目前为止,没有足够的信息说明这个数字应该是多少。你有Enemy Class中的Animation()类,或者你在Animation()中找到敌人类?


0
投票

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

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

public static Animation animationGame1 = new Animation();

然后在你的第二堂课:

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

Animation animationNewClass = Game1.animationGame1;

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

Console.WriteLine(animationNewClass.currentFrameHit);

希望这可以帮助。

© www.soinside.com 2019 - 2024. All rights reserved.