XNA 4.0 - 按键后的冷却动画

时间:2014-03-19 18:46:53

标签: c# animation xna

我在XNA 4.0中工作,我遇到了一些麻烦。 一开始我很抱歉我的英语。 是的,我尝试查找整个WWW和谷歌的原因,代码,答案等...

如果我启动他(意味着我的代码/游戏),我将从我正在做的XNA开始。 如果我不发表评论,它会生成2张2位玩家的照片和1张动画。 我的玩家也可以跑过屏幕射击一些子弹,是的。 但是,如果我想使用我的动画,我将删除评论的语法,动画工作,但不是按下按键拍摄,如果我按键拍摄,它将崩溃我的游戏,我不知道原因。

我如何让它发挥作用: 我想按下一些关键后现在就做冷却。你将按下键,它将开始abillity(射击能力)的冷却时间。只是我不知道该怎么做而且我需要帮助,因为如果这不起作用,那对我来说在学校会很糟糕...... :(

我将我最好的变量名称翻译成英文。 以下是我在Player1中尝试的方式:Player1

请帮助,及时工作。如果您有疑问,请问我,我会尝试给您答案。

1 个答案:

答案 0 :(得分:0)

您的项目符号会继承Sprite类。你的Sprite类有一个字段 - 动画。当你开始射击时,子弹已被创建。但是没有动画,因此你的更新和绘图方法实际上试图处理一个未创建的动画。所以我做了条件,如果动画!= null然后处理动画。

    public override void Update(GameTime gameTime)
    {
        position += speed * direction;
        if (animation != null)
            animation.Update();
        base.Update(gameTime);
    }
    public override void Draw(GameTime gameTime)
    {
        Game1 g = (Game1)Game;
        g.SpriteBatch.Draw(texture, position, Color.White);
        if (animation != null)
            g.SpriteBatch.Draw(animation.GiveTexture(), position2, Color.CornflowerBlue);
        base.Draw(gameTime);
    }

我也编辑了你的动画类并制作了简单的计时器System.Diagnostics.Stopwatch来计算一个子弹的冷却时间,该子弹在按键Key.G上发射。播放器类也会进行一些编辑。现在你的冷却动画在你拍摄时开始,它不允许你拍摄直到它结束。

您可以下载完整修改的项目here

相关问题