首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spritebatch不工作

Spritebatch不工作
EN

Stack Overflow用户
提问于 2013-06-13 19:59:52
回答 1查看 72关注 0票数 0

在开发我的游戏使用Monogame,我想把暂停游戏与一个按钮在屏幕的右上角…但是,当其他元素只绘制时,pauseImage不会显示。我把Draw()函数的代码放在这里:

SBatch.Begin();

代码语言:javascript
复制
            SBatch.Draw(PauseImage,new Vector2(1024,50), Color.White);

            if (_isPaused)
            {
                SBatch.Draw(ResumeImage, new Vector2(500, 300), Color.White);
                SBatch.Draw(QuitImage,new Vector2(600,300),Color.White);
            }
            SBatch.Draw(_castel.Image, _castel.PosCastle, Color.White);


            SBatch.DrawString(LineFont, _life + "/1000", _castel.PosLife, Color.Black);
            SBatch.DrawString(LineFont, "Score:" + _score, new Vector2(_castel.PosLife.X,_castel.PosLife.Y+50), Color.Black);


            SBatch.End();


            foreach (EnemyUnit t in _enemyUnits)
            {
                t.AnimatedSprite.Draw(SBatch, t.Pos);
                if (_mouseState.LeftButton == ButtonState.Pressed && t.Area.Limit(_mouseState))
                {
                    float temp;
                    temp = t.Pos.Y;
                    t.Pos.Y -= 470;
                    MouseAttack.Draw(SBatch, t.Pos);
                    t.Pos.Y = temp;
                }
            }


            SBatch.End();
        }

        base.Draw(gameTime);

该图像是Texture2D对象中的普通png加载。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-14 02:36:43

将绘制pauseImage的部分移动到代码的末尾,这样它就会在最后绘制,并且位于其他所有内容之上。然后从代码中删除第一个SBatch.End()

代码语言:javascript
复制
foreach (EnemyUnit t in _enemyUnits)
{
    t.AnimatedSprite.Draw(SBatch, t.Pos);
    if (_mouseState.LeftButton == ButtonState.Pressed && t.Area.Limit(_mouseState))
    {
        float temp;
        temp = t.Pos.Y;
        t.Pos.Y -= 470;
        MouseAttack.Draw(SBatch, t.Pos);
        t.Pos.Y = temp;
    }
}

if (_isPaused)
{
    SBatch.Draw(ResumeImage, new Vector2(500, 300), Color.White);
    SBatch.Draw(QuitImage,new Vector2(600,300),Color.White);
}

SBatch.End();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17086545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档