//创建获得金币 public void ShowGetGold(int gold) { Debug.Log("------------ShowGetGold------------"); GComponent words = UIPackage.CreateObject("GameUI", "HurtInfo").asCom; WordsInfo wd = AddWordsInfo(words); wd.RandomX(-30, 30); //words.z = 0; //1,直接加到GRoot显示出来 GRoot.inst.AddChild(words); GRoot.inst.SetChildIndex(words, 1); words.GetChild("num").asTextField.text = "" + gold; words.GetChild("num").asTextField.color = new Color(245 / 255.0f, 218 / 255.0f, 0); words.GetChild("num").asTextField.shadowOffset = new Vector2(1, 1); words.GetChild("num").asTextField.textFormat.bold = true; FairyGUI.Transition trans = words.GetTransition("getgold"); trans.Play(); trans.SetHook("over", () => { RemoveWordsInfo(wd); }); //音效 AudioManager.Am.Play3DSound(AudioManager.Sound_Gold, this.Mode.transform.position); }
//创建miss public void ShowMiss() { Debug.Log("------------ShowMiss------------"); //var words = (GameObject)(GameObject.Instantiate(Resources.Load("UIPref/HurtWords"))); //words.transform.parent = m_Mode.transform.parent; //words.transform.position = m_Mode.transform.position + new Vector3(0, m_MeshHeight, -0.1f); GComponent words = UIPackage.CreateObject("GameUI", "HurtInfo").asCom; WordsInfo wd = AddWordsInfo(words); wd.RandomX(-30, 30); //words.z = 0; //1,直接加到GRoot显示出来 GRoot.inst.AddChild(words); GRoot.inst.SetChildIndex(words, 1); //var root = words.GetComponent<FairyGUI.UIPanel>().ui; words.GetChild("num").asTextField.text = "miss"; words.GetChild("num").asTextField.color = new Color(1.0f, 1.0f, 1.0f); FairyGUI.Transition trans = words.GetTransition("up"); trans.Play(); trans.SetHook("over", () => { RemoveWordsInfo(wd); }); }
//创建伤害数字 public void CreateHurtWords(Protomsg.MsgPlayerHurt hurt) { //Vector2 pt = World2FairyUIPoint(); //pt.x += UnityEngine.Random.Range(-30, 30); //如果是加钻石 //Debug.Log("------CreateHurtWords:" + hurt); if (hurt.GetDiamond > 0) { ShowGetDiamond(hurt.GetDiamond); return; } //如果是加金币 if (hurt.GetGold > 0) { ShowGetGold(hurt.GetGold); return; } GComponent words = UIPackage.CreateObject("GameUI", "HurtInfo").asCom; WordsInfo wd = AddWordsInfo(words); wd.RandomX(-30, 30); //1,直接加到GRoot显示出来 GRoot.inst.AddChild(words); GRoot.inst.SetChildIndex(words, 1); //words.xy = pt; words.GetChild("num").asTextField.text = hurt.HurtAllValue + ""; if (this == GameScene.Singleton.GetMyMainUnit()) { //自己受伤 if (hurt.HurtAllValue < 0) { FairyGUI.Transition trans = words.GetTransition("down"); trans.Play(); trans.SetHook("over", () => { RemoveWordsInfo(wd); }); } else//加血 { words.GetChild("num").asTextField.color = new Color(0.1f, 1.0f, 0.1f); FairyGUI.Transition trans = words.GetTransition("up"); trans.Play(); trans.SetHook("over", () => { RemoveWordsInfo(wd); //GameObject.Destroy(words); }); } } else { //伤害别人 if (hurt.IsCrit != 1) { words.GetChild("num").asTextField.color = new Color(1.0f, 1.0f, 1.0f); } FairyGUI.Transition trans = words.GetTransition("up"); trans.Play(); trans.SetHook("over", () => { RemoveWordsInfo(wd); //words.Dispose(); //GameObject.Destroy(words); }); } }