UGUI之UI粒子特效自適應(yīng)縮放

我們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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容