C# 分辨率无关的动画网格?
我正在开发一个用XNA、C制作的游戏,我想启用基于xml的动画 XML将如下所示 对不起,X坐标错了 我注意到,当播放器的显示分辨率与我的分辨率不同时,会出现问题,因为我输入了有关对象来自何处以及必须去何处的像素精确信息 我考虑了一个网格,这样我可以告诉程序将对象从30,27移动到22,27,例如,这是一个好的解决方案吗?网格必须独立于分辨率,但瓷砖的数量必须恒定,我必须将对象绘制到屏幕上。这意味着我必须在位置22,27找到瓷砖的正确pixle位置,然后将对象移动到该瓷砖上C# 分辨率无关的动画网格?,c#,xna,grid,positioning,pixel,C#,Xna,Grid,Positioning,Pixel,我正在开发一个用XNA、C制作的游戏,我想启用基于xml的动画 XML将如下所示 对不起,X坐标错了 我注意到,当播放器的显示分辨率与我的分辨率不同时,会出现问题,因为我输入了有关对象来自何处以及必须去何处的像素精确信息 我考虑了一个网格,这样我可以告诉程序将对象从30,27移动到22,27,例如,这是一个好的解决方案吗?网格必须独立于分辨率,但瓷砖的数量必须恒定,我必须将对象绘制到屏幕上。这意味着我必须在位置22,27找到瓷砖的正确pixle位置,然后将对象移动到该瓷砖上 有更好的方法吗?我如
有更好的方法吗?我如何用XNA解决这个问题?如果你使用2D相机,你不会有任何问题。。。因为计算新视图以使其适应新的分辨率并不困难。。。。你不需要改变你的加载方式和逻辑 你可以,但我不喜欢 在[0..1]范围内的位置工作,很难测量 加载xml时使用新的分辨率因子修复位置。。。很难看
Pos *= NewResolutionSize/DefaultResolutionSize;
与其以像素为单位设置x和y,不如以百分比为单位设置它们,例如,x的0值表示最左侧,1表示最右侧?然后,您可以轻松计算目标位置,只需执行XValue*GraphicsDevice.PresentationParameters.BackBufferWidth;或者类似的东西。谢谢你这个Pos*=NewResolutionSize/DefaultResolutionSize;解决了我的问题