我們UI自適應(yīng)采用的是Canvas Scaler 設(shè)置 Expand模式。 那么UI可以很好的自適應(yīng)屏幕,可是粒子特效就會(huì)出問題所以寫下了這個(gè)腳本來自適應(yīng)UI的粒子特效
usingUnityEngine;
usingSystem.Collections;
usingSystem.Collections.Generic;
publicclassUIParticleScale : MonoBehaviour {
privateList scaleDatas =null;
voidAwake()
{
scaleDatas =newList();
foreach( ParticleSystem pintransform.GetComponentsInChildren(true)){
scaleDatas.Add(newScaleData(){transform = p.transform,beginScale = p.transform.localScale});
}
}
voidStart ()
{
floatdesignWidth = 1136;//開發(fā)時(shí)分辨率寬
floatdesignHeight = 640;//開發(fā)時(shí)分辨率高
floatdesignScale? =?? designWidth/designHeight;
floatscaleRate? =?? (float)Screen.width/(float)Screen.height;
foreach(ScaleData scaleinscaleDatas)
{
if(scale.transform !=null){
if(scaleRate
{
floatscaleFactor = scaleRate / designScale;
scale.transform.localScale = scale.beginScale * scaleFactor;
}else{
scale.transform.localScale? = scale.beginScale;
}
}
}
}
#if UNITY_EDITOR
voidUpdate () {
Start();//Editor下修改屏幕的大小實(shí)時(shí)預(yù)覽縮放效果
}
#endif
classScaleData
{
publicTransform transform;
publicVector3 beginScale = Vector3.one;
}
}
轉(zhuǎn)載自 雨松MOMO? 傳送門 http://www.manew.com/thread-98432-1-1.html