XNA 4.0 -按下一个键后的冷却动画

本文关键字:冷却 动画 下一个 XNA | 更新日期: 2023-09-27 17:50:56

我在XNA 4.0工作,我遇到了一些麻烦。一开始我为我的英语感到抱歉。是的,我试图找到整个WWW和谷歌的原因,代码,答案和更多…

如果我启动他,我将从我目前正在做的XNA开始(意思是我的代码/游戏)。如果我不给评论,它会生成两张球员的照片和一个动画。我的球员也可以在屏幕上跑,射击一些子弹,是的,这是可以的。但是如果我想使用我的动画,我会删除注释的语法,动画可以工作,但不能在按下键射击之后,如果我按下键射击,它会崩溃我的游戏,我不知道原因。

我想如何使它工作:我想在按下一些键后做冷却。你将按下键,它将开始冷却的能力(能力射击)。只是我不知道怎么做,我需要帮助,因为如果这不起作用,我在学校的表现会很糟糕……(

我尽力把变量名翻译成英文。以下是我在Player1中的做法:Player1

请帮忙,这是定时工作。如果你有问题,尽管问我,我会尽力给你答案。

XNA 4.0 -按下一个键后的冷却动画

你的子弹头继承了Sprite类。你的精灵类有一个字段——动画。当你开始射击时,子弹已经被创造出来了。但是没有动画,因此你的更新和绘制方法实际上试图处理一个没有创建的动画。所以我设置了condition if animation != null then handle animation.

    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时发射的。球员的职业也被编辑了一些。现在你的冷却动画在你射击时开始,它不允许你射击直到它结束。

您可以在这里下载完整编辑过的项目。