如何使游戏响应所有移动分辨率

时间:2017-10-09 17:56:06

标签: unity3d unity5

我正在使用c#制作一个简单的游戏,但它并不能响应所有的移动屏幕分辨率。我该怎么做才能使它对所有移动分辨率做出响应。虽然对于画布我使用了画布标量组件,但是我可以为不在画布中的背景图像做些什么,如何让它覆盖整个屏幕。

3 个答案:

答案 0 :(得分:2)

Canvas如果您是从菜单创建的,或者是通过向场景中添加其他UI元素自动创建的,则CanvasScaler组件应附加Horizontal Layout组件。如果没有,只需添加组件。

之后,选择您希望支持的最低分辨率,然后为其构建UI。提醒:如果您想使用百分比,请使用锚点&amp;枢轴,而不是像素大小。如果您想要组件之间的划分和/或固定的宽高比,请使用Vertical LayoutLayout ElementAspect Ratio FitterContainer和不可见CanvasScaler面板的组合。< / p>

完成UI结构后,您可以调整Scale With Screen Size的属性以获得所需的效果。您可能希望Match Width Or Height(使用您的参考分辨率),0和完整0.5(按宽度匹配),1(W和H均等)或者是一个完整的Restart-WebAppPool(按高度匹配),因为这适用于大多数游戏,但它取决于您的目标方向(纵向或横向)以及您的游戏。

答案 1 :(得分:0)

您也可以使用锚点,如下所示: Basic LayoutDesigning UI for Multiple Resolutions

答案 2 :(得分:-3)

Screen.width和Screen.height是您需要的唯一统一特定方法。

根据屏幕尺寸将高度,宽度和位置信息传递给对象。 学习gui的难度较大的部分。 试试并通知我们,以便我得到确认