【问题标题】:Scaling RenderTarget2D doesn't scale SourceRectangles缩放 RenderTarget2D 不缩放 SourceRectangles
【发布时间】:2013-01-27 16:42:29
【问题描述】:

我在 XNA 中开发了一款 2D 三消游戏。核心逻辑和动画就完成了。我使用 RenderTarget2D 绘制整个板。该板有 8 行和 8 列,具有 64x64 纹理(瓷砖),可以单击和移动。为了捕获鼠标交叉点,我对每个图块使用 SourceRectangles。当然,SourceRectangle 与纹理的大小相同 - 64x64。

我想使用 RenderTarget2D 缩小整个板,以支持不同的显示器分辨率和方面。首先,我在 RenderTarget2D 中绘制所有图块。然后我用浮点系数缩小 RenderTarget2D。最后我在屏幕上绘制了 RenderTarget2D。结果,整个板子被正确地缩小了(例如,所有纹理都从 64x64 缩小到 50x50),但 SourceRectagles 没有被缩放,它们保持 64x64 并且没有为正确的图块捕获鼠标交叉点。

为什么缩放 RenderTarget2D 不能处理这个问题?我该如何解决这个问题?

【问题讨论】:

    标签: xna scale xna-4.0 rendertarget


    【解决方案1】:

    您应该以不同的方式处理这个问题。你的纹理源矩形就是这样——不要试图将它们用作按钮矩形,否则你会遇到这样的麻烦。

    改为使用不同的Rectangle hitboxRectangle,它最初与源矩形的大小相同,但会随游戏窗口缩放,并检查交叉点。

    【讨论】:

      猜你喜欢
      • 2011-10-31
      • 2014-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-24
      • 2021-04-07
      • 1970-01-01
      • 2014-08-26
      相关资源
      最近更新 更多