Skip to content

Commit 271af71

Browse files
author
uhu
committed
docs: update
1 parent 624f4f6 commit 271af71

File tree

1 file changed

+22
-15
lines changed

1 file changed

+22
-15
lines changed

Design/fixScreen.md

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,32 @@
11
# 屏幕适配
22

33
## 安全区域适配
4-
小游戏的屏幕适配与unity游戏适配常见手机屏幕没有区别。常见的适配方式都可以在小游中使用。区别的是一些屏幕信息的获取。
5-
如安全区域的获取需调用 WX.GetSystemInfoSync得到其中的安全区域。
4+
5+
小游戏的屏幕适配与 unity 游戏适配常见手机屏幕没有区别。常见的适配方式都可以在小游中使用。区别的是一些屏幕信息的获取。
6+
如安全区域的获取需调用 WX.GetWindowInfo 得到其中的安全区域。
67
如下是适配刘海屏(这里以竖屏游戏按高度适配为例)的示例:
8+
9+
```csharp
10+
var info = WX.GetWindowInfo();
11+
float py = (float)info.safeArea.top / (float)info.windowHeight;
12+
// Rootrect初始时设置其Anchor,使其与父节点一样大,也就是屏幕的大小
13+
// 调整屏幕移到刘海屏下面,
14+
Rootrect.anchorMin = new Vector2((float)info.safeArea.left / (float)info.windowWidth, -(float)info.safeArea.top / (float)info.windowHeight );
15+
// 重新计算缩放,让高度占满刘海屏以下的区域
16+
cs.referenceResolution = new Vector2(cs.referenceResolution.x, cs.referenceResolution.y * (1.0f+py));
717
```
8-
var info = WX.GetSystemInfoSync();
9-
float py = (float)info.safeArea.top / (float)info.windowHeight;
10-
// Rootrect初始时设置其Anchor,使其与父节点一样大,也就是屏幕的大小
11-
// 调整屏幕移到刘海屏下面,
12-
Rootrect.anchorMin = new Vector2((float)info.safeArea.left / (float)info.windowWidth, -(float)info.safeArea.top / (float)info.windowHeight );
13-
// 重新计算缩放,让高度占满刘海屏以下的区域
14-
cs.referenceResolution = new Vector2(cs.referenceResolution.x, cs.referenceResolution.y * (1.0f+py));
15-
```
18+
1619
![安全区域](../image/saveArea.png)
17-
[systemInfo](https://developers.weixin.qq.com/minigame/dev/api/base/system/wx.getSystemInfo.html) 中获取的安全区域的数值,需要乘以systemInfo中的pixelRatio才为Unity中的大小,而且手机屏幕左上角为(0,0)
20+
[wx.getWindowInfo](https://developers.weixin.qq.com/minigame/dev/api/base/system/wx.getWindowInfo.html) 中获取的安全区域的数值,需要乘以 pixelRatio 才为 Unity 中的大小,而且手机屏幕左上角为(0,0)
21+
1822
## 高分辨屏下模糊问题
19-
因为 Unity 2019.3之前的版本对高分辨屏适配不是很好。会出现画面模糊的情况,所以最好选择`Unity 2019.3`之后的版本来构建你的游戏。如果游戏不能升级版本,也可以引入[SDK](./WX_SDK.md),在初始化SDK后,SDK会自动对页面做一个兼容适配,避免模糊的问题。
20-
```
23+
24+
因为 Unity 2019.3 之前的版本对高分辨屏适配不是很好。会出现画面模糊的情况,所以最好选择`Unity 2019.3`之后的版本来构建你的游戏。如果游戏不能升级版本,也可以引入[SDK](./WX_SDK.md),在初始化 SDK 后,SDK 会自动对页面做一个兼容适配,避免模糊的问题。
25+
26+
```csharp
2127
//初始化SDK
2228
WX.InitSDK((int code)=> {
2329
// 你的主逻辑
24-
});
25-
```
30+
});
31+
```
32+

0 commit comments

Comments
 (0)