我在 XNA 中开发了一个 2D match3 游戏。核心逻辑和动画就完成了。我使用 RenderTarget2D 绘制整个板。该板有 8 行和 8 列,具有 64x64 纹理(瓷砖),可以单击和移动。为了捕获鼠标交叉点,我对每个图块使用 SourceRectangles。当然,SourceRectangle 与纹理具有相同的大小 - 64x64。
我想使用 RenderTarget2D 缩小整个板,以支持不同的显示器分辨率和方面。首先,我在 RenderTarget2D 中绘制所有图块。然后我用浮点系数缩小 RenderTarget2D。最后我在屏幕上绘制了 RenderTarget2D。结果,整个板子被正确地缩小了(例如,所有纹理都从 64x64 缩小到 50x50),但是 SourceRectagles 没有被缩放,它们仍然是 64x64,并且没有为正确的图块捕获鼠标交叉点。
为什么缩放 RenderTarget2D 不能处理这个问题?我该如何解决这个问题?