首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在单击后删除Monogame中的精灵?

如何在单击后删除Monogame中的精灵?
EN

Stack Overflow用户
提问于 2019-12-02 20:58:18
回答 1查看 588关注 0票数 0

我正在写一个c#单人游戏。我有个英雄,他会开枪。我希望,当他击打一个精灵(这里:一个简单的球)时,这个球应该在地图上删除。

这是我的绘图方法

代码语言:javascript
复制
public void Draw(GameTime gameTime)
{
            mMap.Draw(ScreenManager.mSprites);
            ScreenManager.mSprites.Begin();
            ScreenManager.mSprites.Draw(mTest, mHeroPos, Color.White);
            ScreenManager.mSprites.Draw(mBall, new Rectangle(120, 120, 50, 50), Color.White);
            DrawEffects();
            ScreenManager.mSprites.End();
}

我没有删除地图上的球的代码,因为我没有这个想法。我有更多的代码,但在这里显示它太多了,我认为这对我的问题并不重要。在这段代码中,我的英雄可以在精灵上行走和射击。一切都运行得很完美。总而言之,我的问题是,我想在一个精灵上拍摄,然后这个精灵就应该消失了。感谢你的帮助

EN

回答 1

Stack Overflow用户

发布于 2019-12-03 01:56:36

您的代码是有限的,但有多种方法可以做到这一点。

在我看来,最好的办法是创建一个新类来表示球,并使其具有"IsAlive“属性。一旦球死了,你就把它标记为"IsAlive = false“。在draw方法中,在绘制球之前检查球是否处于活动状态。

另一种方法,因为您最终可能会有多个球,是拥有这些球对象的数组。一旦一个对象被杀死,你就把它从数组中移除。在draw方法中,仅呈现数组中的对象。

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

https://stackoverflow.com/questions/59139405

复制
相关文章

相似问题

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