【问题标题】:Xna destructible wallsXna 可破坏的墙壁
【发布时间】:2021-01-06 13:53:02
【问题描述】:

所以我正在制作一个太空入侵者克隆体,但我被困在了墙上。我需要制作可破坏的墙,我不知道该怎么做。因此,如果有人有任何想法,请向你们那里的人寻求帮助会有所帮助。

【问题讨论】:

  • 欢迎来到 Stack Overflow。请通过Minimal, Reproducible Example 向我们展示您迄今为止所做的尝试。不要犹豫阅读tourHow do I ask a good question?
  • 建议您在提问之前先自己尝试一下,因为有很多方法可以实现这样的事情。一个例子(并且不一定是最好的)是为每个可破坏的部分制作一个对象,如果它击中它就会破坏。这可以在最初的 Space Invaders 中使用,因为这些墙只是用几个像素构建的。
  • 我已经尝试过那个确切的例子,但我要求任何其他方法。

标签: c# xna pixel monogame destruction


【解决方案1】:

最初的 Space Invaders 的路障被击中的子弹爆炸逐个像素地摧毁。因此,如果您想让它变得逼真,当您检测到子弹与墙壁的逐像素碰撞时,请绘制爆炸并同时从墙壁纹理中删除它们重叠的那些像素。

最初的街机版本实际上从未在每一帧都重新绘制整个屏幕,所以当爆炸消失时这个过程是自动的。它从不每帧移动超过 4 或 5 个对象。

当然,您必须设法在每一关都使用原始未损坏的纹理重建 4 面墙。快乐编程。

【讨论】:

  • 谢谢,我想我明白了,但我该如何去除像素?使用 texture.SetData();?
  • 是的,如果我没记错的话。使用 GetData() 将数据读入 Color 数组,访问它并使用 SetData() 写入更改。
猜你喜欢
  • 2014-04-01
  • 1970-01-01
  • 2017-11-20
  • 1970-01-01
  • 2021-06-20
  • 1970-01-01
  • 1970-01-01
  • 2011-01-06
  • 1970-01-01
相关资源
最近更新 更多