如果做手机游戏,必不可少的需要涉及到自适应屏幕这个问题,本篇文章不做过多讲解。直接上代码。
AspectUtility.cs脚本来自网络,因考虑到宽屏和窄屏适应问题,设置一个可调节的区间段会比较好,所以此处做过部分修改。
[code]csharpcode:
1. [code]csharpcode
:
2. using System;
3. using System.Collections.Generic;
4. using UnityEngine;
5.
6. public class AspectUtility : MonoBehaviour
7. {
8. public Vector2 maxAspectRatio = new Vector2(16, 9);
9. public Vector2 minAspectRatio = new Vector2(3, 2);
10. public bool landscapeModeOnly = true;
11.
12. private float _wantedAspectRatio = 1.5f;
13. static public bool _landscapeModeOnly = true;
14. static float wantedAspectRatio;
15. static Camera cam;
16. static Camera backgroundCam;
17.
18. void Awake()
19. {
20. if (Screen.width * maxAspectRatio.y > Screen.height * maxAspectRatio.x)
21. {
22. _wantedAspectRatio = maxAspectRatio.x / maxAspectRatio.y;
23. }
24. else if (Screen.width * minAspectRatio.y < Screen.height * minAspectRatio.x)
25. {
26. _wantedAspectRatio = minAspectRatio.x / minAspectRatio.y;
27. }
28. else
29. {
30. _wantedAspectRatio = (float)Screen.width / Screen.height;
31. }
32.
33. _landscapeModeOnly = landscapeModeOnly;
34. cam = camera;
35. if (!cam)
36. {
37. cam = Camera
|