/// <summary> /// 推进垂直滚动文本 /// </summary> private void ProcessTickVerticalRollText() { for (int i = 0; i < VerticalRollTextObjList.Count; i++) { VerticalRollObjData VRdata = VerticalRollTextObjList[i]; //Vector3 HorObjPos = VRdata.VerticalRollUIObj.transform.localPosition; //float posxmove = Time.deltaTime * 40; //HorObjPos.y += posxmove; //VRdata.VerticalRollUIObj.transform.localPosition = HorObjPos; VRdata.DisappearTime -= Time.deltaTime; if (VRdata.DisappearTime < 1.0f && VRdata.DisappearTime > 0.0f) { Color imgcol = VRdata.VerticalRollUIObj.GetComponent <Image>().color; imgcol.a = VRdata.DisappearTime; VRdata.VerticalRollUIObj.GetComponent <Image>().color = imgcol; Color txtcol = VRdata.VerticalRollUIObj.transform.Find("Text").gameObject.GetComponent <Text>().color; txtcol.a = VRdata.DisappearTime; VRdata.VerticalRollUIObj.transform.Find("Text").gameObject.GetComponent <Text>().color = txtcol; } if (VRdata.DisappearTime < 0f) { GameMain.safeDeleteObj(VRdata.VerticalRollUIObj); VerticalRollTextObjList[i] = null; VerticalRollTextObjList.RemoveAt(i); } } if (VerticalRollTextObjList.Count == 0) { bVerticalRollTextUIShow = false; } }
/// <summary> /// 创建垂直滚动条 /// </summary> /// <param name="rollText"></param> private void CreateVerticalRollTextObj(string rollText) { if (VerticalRollUIPerfabObj == null) { #if ScFish AssetBundle bd = AssetBundleManager.GetAssetBundle("common.resource"); #else AssetBundle bd = AssetBundleManager.GetAssetBundle(GameDefine.HallAssetbundleName); #endif if (bd == null) { return; } VerticalRollUIPerfabObj = bd.LoadAsset("Tips_Text") as Object; } GameObject obj = GameMain.instantiate(VerticalRollUIPerfabObj) as GameObject; obj.transform.SetParent(GameObject.Find("Canvas_1/Root").transform, false); obj.transform.SetAsLastSibling(); obj.transform.Find("Text").gameObject.GetComponent <Text>().text = rollText; //调整一下已有文本的坐标 int ObjListCount = VerticalRollTextObjList.Count; for (int i = 0; i < ObjListCount; i++) { Vector3 HorObjPos = VerticalRollTextObjList[i].VerticalRollUIObj.transform.localPosition; HorObjPos.y = (ObjListCount - i) * 40; VerticalRollTextObjList[i].VerticalRollUIObj.transform.localPosition = HorObjPos; } VerticalRollObjData vrdata = new VerticalRollObjData(); vrdata.VerticalRollUIObj = obj; vrdata.DisappearTime = 3.0f; VerticalRollTextObjList.Add(vrdata); bVerticalRollTextUIShow = true; }