一个2D项目的背景图,需要根据屏幕大小进行适应性的操作。
以480*800为例,可以进行私有变量的定义:
屏幕适应的宽度
private static float BASE_WIDTH = 480f;
屏幕适应的高度
private static float BASE_HEIGHT = 800f;
浮点型的匹配参数声明
private float baseRatio;
当前的缩放系数
private float percentScale;
先找到当前组件
private Transform m_tranform;
void Start()
{
m_tranform = transform;
setScale(); //适应方法调用
}
具体根据宽和高的比例来进行调节,适应当前分辨率
void setScale()
{
#if UNITY_ANDROID || UNITY_IPHONE || UNITY_WP8
baseRatio = (float)BASE_WIDTH / BASE_HEIGHT * Screen.height;
percentScale = Screen.width / baseRatio;
m_tranform.localScale = new Vector3(m_tranform.localScale.x * percentScale, m_tranform.localScale.y, 1);
#endif
}
亲测有用,欢迎交流。