Xna 缩放RenderTarget2D不会';t标度源矩形

Xna 缩放RenderTarget2D不会';t标度源矩形,xna,scale,xna-4.0,rendertarget,Xna,Scale,Xna 4.0,Rendertarget,我在XNA开发了一个2D match3游戏。核心逻辑和动画已经完成。我使用RenderTarget2D绘制整个电路板。该板有8行8列,具有64x64纹理(瓷砖),可以单击和移动。为了捕捉鼠标交点,我对每个磁贴使用Source矩形。当然,源矩形的大小与纹理相同-64x64 我想使用RenderTarget2D缩小整个电路板的比例,以支持不同的显示器分辨率和特性。首先,我在RenderTarget2D中绘制所有瓷砖。然后我使用浮动系数缩小RenderTarget2D。最后,我在屏幕上绘制Render

我在XNA开发了一个2D match3游戏。核心逻辑和动画已经完成。我使用RenderTarget2D绘制整个电路板。该板有8行8列,具有64x64纹理(瓷砖),可以单击和移动。为了捕捉鼠标交点,我对每个磁贴使用Source矩形。当然,源矩形的大小与纹理相同-64x64

我想使用RenderTarget2D缩小整个电路板的比例,以支持不同的显示器分辨率和特性。首先,我在RenderTarget2D中绘制所有瓷砖。然后我使用浮动系数缩小RenderTarget2D。最后,我在屏幕上绘制RenderTarget2D。因此,整个电路板被适当地缩小(例如,所有纹理都从64x64缩小到50x50),但是SourceRectages没有被缩放,它们仍然是64x64,并且没有为适当的瓷砖捕捉鼠标交点


为什么缩放RenderTarget2D无法处理此问题?我怎样才能解决这个问题?

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

取而代之的是,使用不同的
矩形hitboxRectangle
,它最初与源矩形的大小相同,但会随游戏窗口缩放,并根据它检查交点