我正在使用c#制作一个简单的游戏,但它并不能响应所有的移动屏幕分辨率。我该怎么做才能使它对所有移动分辨率做出响应。虽然对于画布我使用了画布标量组件,但是我可以为不在画布中的背景图像做些什么,如何让它覆盖整个屏幕。
答案 0 :(得分:2)
Canvas
如果您是从菜单创建的,或者是通过向场景中添加其他UI元素自动创建的,则CanvasScaler
组件应附加Horizontal Layout
组件。如果没有,只需添加组件。
之后,选择您希望支持的最低分辨率,然后为其构建UI。提醒:如果您想使用百分比,请使用锚点&枢轴,而不是像素大小。如果您想要组件之间的划分和/或固定的宽高比,请使用Vertical Layout
,Layout Element
,Aspect Ratio Fitter
,Container
和不可见CanvasScaler
面板的组合。< / p>
完成UI结构后,您可以调整Scale With Screen Size
的属性以获得所需的效果。您可能希望Match Width Or Height
(使用您的参考分辨率),0
和完整0.5
(按宽度匹配),1
(W和H均等)或者是一个完整的Restart-WebAppPool
(按高度匹配),因为这适用于大多数游戏,但它取决于您的目标方向(纵向或横向)以及您的游戏。
答案 1 :(得分:0)
您也可以使用锚点,如下所示: Basic Layout和 Designing UI for Multiple Resolutions
答案 2 :(得分:-3)
Screen.width和Screen.height是您需要的唯一统一特定方法。
根据屏幕尺寸将高度,宽度和位置信息传递给对象。 学习gui的难度较大的部分。 试试并通知我们,以便我得到确认