using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class UIParticleScale : MonoBehaviour {
private List<ScaleData> scaleDatas = null;
void Awake()
{
scaleDatas = new List<ScaleData>();
foreach( ParticleSystem p in transform.GetComponentsInChildren<ParticleSystem>(true)){
scaleDatas.Add(new ScaleData(){transform = p.transform,beginScale = p.transform.localScale});
}
}
void Start ()
{
float designWidth = 1136;//开发时分辨率宽
float designHeight = 640;//开发时分辨率高
float designScale = designWidth/designHeight;
float scaleRate = (float)Screen.width/(float)Screen.height;
foreach(ScaleData scale in scaleDatas)
{
if(scale.transform != null){
if(scaleRate<designScale)
{
float scaleFactor = scaleRate / designScale;
scale.transform.localScale = scale.beginScale * scaleFactor;
}else{
scale.transform.localScale = scale.beginScale;
}
}
}
}
#if UNITY_EDITOR
void Update () {
Start(); //Editor下修改屏幕的大小实时预览缩放效果
}
#endif
class ScaleData
{
public Transform transform;
public Vector3 beginScale = Vector3.one;
}
}
unity3dUGUI之UI粒子特效自适应缩放
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 我们UI自适应采用的是Canvas Scaler 设置 Expand模式。 那么UI可以很好的自适应屏幕,可是粒子...
- 转载至 http://www.cnblogs.com/ludashi/p/5895725.html 本篇博客的主题...