我用XNA开发了一个2D match3游戏。核心逻辑和动画已经完成。我使用RenderTarget2D来绘制整个棋盘。棋盘有8行8列的64x64纹理(瓷砖),可以点击和移动。为了捕获鼠标交叉点,我对每个磁贴使用SourceRectangles。当然,SourceRectangles的大小与纹理相同- 64x64。
我想要缩小整个电路板,使用RenderTarget2D,以支持不同的显示器分辨率和方面。首先,我在RenderTarget2D中绘制所有的图块。然后,我使用浮点系数缩小RenderTarget2D。最后,我在屏幕上绘制RenderTarget2D。因此,整个电路板都会正确缩小(例如,所有纹理都会从64x64缩小到50x50 ),但SourceRectagles不会缩放,它们仍然是64x64,并且不会为正确的平铺捕获鼠标交叉点。
为什么扩展RenderTarget2D不能处理这个问题呢?我该如何解决这个问题呢?
发布于 2013-01-28 01:00:11
您应该以不同的方式处理这个问题。你的纹理的源矩形只是--不要试图使用它们作为按钮矩形,否则你会遇到这样的麻烦。
相反,使用不同的Rectangle hitboxRectangle,它最初将与源矩形大小相同,但将随游戏窗口缩放,并根据它检查交叉点。
https://stackoverflow.com/questions/14549572
复制相似问题