public void init(Transform target, int lifeMax, List <LifeBarData> data) { _currentIndex = 0; _target = target; _offset = GetOffset(target); _data = data; _nextBar = transform.Find("NextBar").gameObject.AddComponent <LifeBarItem>(); _currentBar = transform.Find("CurrentBar").gameObject.AddComponent <LifeBarItem>(); _nextBar.Init(); _currentBar.Init(); RectTransform rect = GetComponent <RectTransform>(); _ratio = rect.rect.width * data.Count / lifeMax; //每一滴血所代表的血条宽度 SetBarData(_currentIndex, data); }