void triggerFunc(MGNotification notification) { Debug.Log("triggerFunc"); if (notification.objc is Collider2D)//自己要做的 { Collider2D other = notification.objc as Collider2D; danDart(); GameObject objc = GameObject.Find(other.name); if (objc) { int boneMask = objc.GetComponent <Jump>().stateMask & roleState.bone; int sprintMask = objc.GetComponent <Jump>().stateMask & roleState.sprint; if (boneMask != 0 || sprintMask != 0) { return; } } MGMsgModel skillModel = new MGMsgModel(); skillModel.eventId = SkillEffectEnum.dart; skillModel.gameobjectName = other.name; //发送给自己 MGNotificationCenter.defaultCenter().postNotification(SkillEffectEnum.dart, skillModel); } else if (notification.objc is MGMsgModel)//对面要做的 { //MGMsgModel other = notification.objc as MGMsgModel; danDart(); } }
public void gameTimer() { MGGlobalDataCenter.defaultCenter().totalGameTime -= 0.01f; int frontNum = (int)Math.Floor(MGGlobalDataCenter.defaultCenter().totalGameTime); int laterNum = (int)((MGGlobalDataCenter.defaultCenter().totalGameTime - frontNum) * 100); if (MGGlobalDataCenter.defaultCenter().totalGameTime <= 0f) { CancelInvoke("gameTimer"); //游戏结束 if (GameObject.Find("role").GetComponent <RoleAnimController>().isDead || GameObject.Find("role1").GetComponent <RoleAnimController>().isDead) { return; } MGGlobalDataCenter.defaultCenter().overSenceUIName = "victoryFrontGameUI"; Application.LoadLevel("overSence"); MGMsgModel gameoverModel = new MGMsgModel(); gameoverModel.eventId = RoleActEventEnum.gameoverEventId; gameoverModel.gameobjectName = MGGlobalDataCenter.defaultCenter().overSenceUIName; mgNetWorking.sendMessageToPeer(JsonMapper.ToJson(gameoverModel)); return; } if (laterNum < 10) { gameTimerLabel.GetComponent <UILabel>().text = frontNum + ":0" + laterNum; } else { gameTimerLabel.GetComponent <UILabel>().text = frontNum + ":" + laterNum; } }
void sprintEffect(MGNotification notification) { if (notification != null) { sprintSwitch = notification; MGMsgModel skillModel = (MGMsgModel)notification.objc; GameObject objc = GameObject.Find(skillModel.gameobjectName); if (objc) { if (tempObjcet == null) { tempObjcet = GameObject.Find("sprint(Clone)"); } float dis = MGGlobalDataCenter.defaultCenter().roleFrontPos.x - MGGlobalDataCenter.defaultCenter().roleLaterPos.x; objc.transform.Translate(speedSwitch * Vector3.right * MGSkillSprintInfo.SkillEffectSpeed * dis * Time.deltaTime / MGSkillSprintInfo.durationTime); if (tempObjcet) { int fx = objc.transform.localScale.y > 0?1:-1; tempObjcet.transform.position = new Vector3(objc.transform.position.x + 0.25f, objc.transform.position.y + fx * objc.GetComponent <SpriteRenderer>().bounds.size.y / 2f, objc.transform.position.z); } } sprintTimer += Time.deltaTime; if (sprintTimer > MGSkillSprintInfo.durationTime) { //修改背景的移动速度 GameObject[] backgroundList = GameObject.FindGameObjectsWithTag("Background"); for (int i = 0; i < backgroundList.Length; ++i) { backgroundList[i].GetComponent <bgnear>().speed -= 20; } backgroundList = GameObject.FindGameObjectsWithTag("Road"); for (int i = 0; i < backgroundList.Length; ++i) { backgroundList[i].GetComponent <bgnear>().speed -= 20; } objc.GetComponent <RoleAnimController>().isSprint = false; objc.GetComponent <Animator>().SetBool("sprint", false); objc.GetComponent <SpriteRenderer>().material = new Material(Shader.Find("Sprites/Default")); UILabel label = GameObject.Find("log").GetComponent <UIInput>().label; Vector3 pos1 = GameObject.Find("role1").transform.position; Vector3 pos = GameObject.Find("role").transform.position; label.text += "\r\nrole.x=" + pos.x + ";role1.x=" + pos1.x; sprintTimer = 0; sprintSwitch = null; tempObjcet = null; GameObject sprint = GameObject.Find("sprint(Clone)"); if (sprint != null) { Destroy(sprint); } objc.GetComponent <Jump>().stateMask &= ~roleState.sprint; } } }
void OnTriggerEnter2D(Collider2D other) { if (MGGlobalDataCenter.defaultCenter().isFrontRoler == true || MGGlobalDataCenter.defaultCenter().isSingle) { MGMsgModel model = new MGMsgModel(); model.eventId = SkillEnum.roadblock + gameObject.name; model.tag = other.tag; model.name = other.name; MGNotificationCenter.defaultCenter().postNotification(SkillEnum.roadblock + gameObject.name, other); mgNetWorking.sendMessageToPeer(JsonMapper.ToJson(model)); } }
public void gameOver() { Vector3 roleLaterPos = Vector3.zero; Vector3 roleFrontPos = Vector3.zero; try { roleLaterPos = MGGlobalDataCenter.defaultCenter().roleLater.transform.position; roleFrontPos = MGGlobalDataCenter.defaultCenter().role.transform.position; } catch { return; } if (roleFrontPos.x - roleLaterPos.x < 1.0f || isCollisionOver) //后者追上前者结束 { GameObject.Find("MGSkillEffect").GetComponent <MGSkillEffect>().speedSwitch = 0; MGGlobalDataCenter.defaultCenter().roleLater.GetComponent <Jump>().stateMask |= roleState.wudi; //MGGlobalDataCenter.defaultCenter().isGameOver = true; MGGlobalDataCenter.defaultCenter().roleLater.rigidbody2D.velocity = Vector3.zero; MGGlobalDataCenter.defaultCenter().role.rigidbody2D.velocity = Vector3.zero; //强制roleLater出现在role的后面一点点。 roleLaterPos.x = roleFrontPos.x - 0.95f; roleLaterPos.y = roleFrontPos.y = MGGlobalDataCenter.defaultCenter().roadOrignY; MGGlobalDataCenter.defaultCenter().roleLater.transform.position = roleLaterPos; MGGlobalDataCenter.defaultCenter().roleLater.transform.localScale = new Vector3(1, 1, 1); MGGlobalDataCenter.defaultCenter().roleLater.transform.rotation = Quaternion.Euler(0, 0, 0); MGGlobalDataCenter.defaultCenter().role.transform.position = roleFrontPos; MGGlobalDataCenter.defaultCenter().role.transform.localScale = new Vector3(1, 1, 1); MGGlobalDataCenter.defaultCenter().role.transform.rotation = Quaternion.Euler(0, 0, 0); if (this.gameObject.name == "role1") { MGNotificationCenter.defaultCenter().postNotification(RoleButtonEvent.killLatterEventId, this.gameObject.name); } } if (this.gameObject.name == "role1" && transform.position.x + 1.4f < MGGlobalDataCenter.defaultCenter().screenLiftX) //后者出屏幕结束,还有一个后者死掉结束在RoleAnimController里 { MGGlobalDataCenter.defaultCenter().isGameOver = true; //切换场景 Debug.Log("role1 out of screen"); MGGlobalDataCenter.defaultCenter().overSenceUIName = "victoryFrontGameUI"; Application.LoadLevel("overSence"); MGMsgModel gameoverModel = new MGMsgModel(); gameoverModel.eventId = RoleActEventEnum.gameoverEventId; gameoverModel.gameobjectName = MGGlobalDataCenter.defaultCenter().overSenceUIName; mgNetWorking.sendMessageToPeer(JsonMapper.ToJson(gameoverModel)); } }
void dartEffect(MGNotification notification) { if (notification != null) { MGMsgModel skillModel = (MGMsgModel)notification.objc; GameObject objc = GameObject.Find(skillModel.gameobjectName); float dis = MGGlobalDataCenter.defaultCenter().roleFrontPos.x - MGGlobalDataCenter.defaultCenter().roleLaterPos.x; if (objc && (objc.GetComponent <Jump>().stateMask & roleState.wudi) == 0) { objc.transform.Translate(Vector3.left * MGSkillDartInfo.SkillEffectSpeed * dis); } } }
public string objcToJson(string msg) { //log.label.text+="jump send:" + MGGlobalDataCenter.timestamp ()+"\r\n"; MGMsgModel msgModel = new MGMsgModel(); if (MGGlobalDataCenter.defaultCenter().isFrontRoler == true) { msgModel.eventId = msg; } else { msgModel.eventId = "1" + msg; } return(JsonMapper.ToJson(msgModel)); }
public void receiverMessageFromPeer(string msg) { //Debug.Log ("receiverMessageFromPeer:"+msg+";"+MGGlobalDataCenter.timestamp()); MGMsgModel msgModel = JsonMapper.ToObject <MGMsgModel>(msg); if (msgModel.eventId == RoleActEventEnum.gameoverEventId) { MGGlobalDataCenter.defaultCenter().overSenceUIName = msgModel.gameobjectName; if (Application.loadedLevelName != "overSence") { Application.LoadLevel("overSence"); } return; } MGNotificationCenter.defaultCenter().postNotification(msgModel.eventId, msgModel); }
void OnTriggerEnter2D(Collider2D other) { if (other.name == "role1") { print("技能名:击退。被击中的是" + other.name + ",释放技能的是" + this.releaseSkillObjectName + ";gameobjc:" + other.gameObject); //MGGlobalDataCenter.defaultCenter().isBigSkilling = false; //被大招击中的声音和 金钟罩撞路障声音一致 MGGlobalDataCenter.defaultCenter().isRoadBlockDefence = true; UILabel label = GameObject.Find("log").GetComponent <UIInput>().label; label.text += "\r\n Skill:" + other.name; //发送给自己 MGMsgModel skillModel = new MGMsgModel(); skillModel.eventId = SkillEffectEnum.beatback; skillModel.gameobjectName = other.name; MGNotificationCenter.defaultCenter().postNotification(SkillEffectEnum.beatback, skillModel); } }
void OnTriggerEnter2D(Collider2D other) { if (other.tag != "Player" || other.name == releaseSkillObjectName) { return; } if (MGGlobalDataCenter.defaultCenter().isFrontRoler == true || MGGlobalDataCenter.defaultCenter().isSingle) { Debug.Log("OnTriggerEnter2D dart"); MGMsgModel model = new MGMsgModel(); model.eventId = SkillEnum.dart + gameObject.name; model.tag = other.tag; model.name = other.name; MGNotificationCenter.defaultCenter().postNotification(SkillEnum.dart + gameObject.name, other); mgNetWorking.sendMessageToPeer(JsonMapper.ToJson(model)); } }
public void continueGame(GameObject button) { if (MGGlobalDataCenter.defaultCenter().isStop == true) { if (button) { MGMsgModel uiMsg = new MGMsgModel(); uiMsg.eventId = uiEvent.continueGame; mgNetWorking.sendMessageToPeer(JsonMapper.ToJson(uiMsg)); } MGGlobalDataCenter.defaultCenter().isStop = false; Time.timeScale = 1; DestroyObject(stopLayerObj); DestroyObject(homeButtonObj); DestroyObject(continueButtonObj); } }
public override void playSkillAnimation() { base.playSkillAnimation(); transform.Translate(Vector3.left * speed * Time.deltaTime); if (isBlinked == false)//通知技能效果类执行相应的效果 { isBlinked = true; MGMsgModel skillModel = new MGMsgModel(); skillModel.eventId = SkillEffectEnum.blink; skillModel.gameobjectName = "role1"; //发送给对面 产生技能效果 if (MGGlobalDataCenter.defaultCenter().isFrontRoler == false || MGGlobalDataCenter.defaultCenter().isSingle) { Debug.Log("发送给对面 产生技能效果"); MGNotificationCenter.defaultCenter().postNotification(SkillEffectEnum.blink, skillModel); mgNetWorking.sendMessageToPeer(JsonMapper.ToJson(skillModel)); } } }
void roadblockEffect(MGNotification notification) { if (notification != null) { roadblockSwitch = notification; MGMsgModel skillModel = (MGMsgModel)notification.objc; GameObject objc = GameObject.Find(skillModel.gameobjectName); float dis = MGGlobalDataCenter.defaultCenter().roleFrontPos.x - MGGlobalDataCenter.defaultCenter().roleLaterPos.x; if (objc && (objc.GetComponent <Jump>().stateMask & roleState.wudi) == 0) { objc.transform.Translate(Vector3.left * MGSkillRoadblockInfo.SkillEffectSpeed * dis * Time.deltaTime / MGSkillRoadblockInfo.durationTime); } roadblockTimer += Time.deltaTime; if (roadblockTimer > MGSkillRoadblockInfo.durationTime * Time.timeScale) { roadblockTimer = 0; roadblockSwitch = null; } } }
void blinkEffect(MGNotification notification) { if (notification != null) { blinkSkillBonesTimer = 0; if (MGGlobalDataCenter.defaultCenter().isFrontRoler == false && MGGlobalDataCenter.defaultCenter().isSingle == false) { MGNotificationCenter.defaultCenter().postNotification(SkillActEventEnum.bones, shortBonesName);//发送bones技能的事件 return; } MGMsgModel skillModel = (MGMsgModel)notification.objc; Debug.Log("skillModel:" + skillModel + ",eventId:" + skillModel.eventId + ",gameobjectName:" + skillModel.gameobjectName); GameObject objc = GameObject.Find(skillModel.gameobjectName); if (objc) { Debug.Log("blinkObjc:" + objc + "name:" + objc.name); float dis = MGGlobalDataCenter.defaultCenter().roleFrontPos.x - MGGlobalDataCenter.defaultCenter().roleLaterPos.x; Vector3 roleLaterPos = MGGlobalDataCenter.defaultCenter().roleLater.transform.position; Vector3 roleFrontPos = MGGlobalDataCenter.defaultCenter().role.transform.position; if (roleFrontPos.x - roleLaterPos.x < MGSkillBlinkInfo.SkillEffectSpeed * dis) { objc.transform.Translate(Vector3.right * (roleFrontPos.x - roleLaterPos.x - 1f)); } else { objc.transform.Translate(Vector3.right * MGSkillBlinkInfo.SkillEffectSpeed * dis); } } MGNotificationCenter.defaultCenter().postNotification(SkillActEventEnum.bones, shortBonesName);//发送bones技能的事件 UILabel label = GameObject.Find("log").GetComponent <UIInput> ().label; Vector3 pos1 = GameObject.Find("role1").transform.position; Vector3 pos = GameObject.Find("role").transform.position; label.text += "\r\nrole.x=" + pos.x + ";role1.x=" + pos1.x + ";shortBonesName:" + shortBonesName; } }
public void clickStop(GameObject button) { if (MGGlobalDataCenter.defaultCenter().isStop == false) { if (button) { MGMsgModel uiMsg = new MGMsgModel(); uiMsg.eventId = uiEvent.stopGame; mgNetWorking.sendMessageToPeer(JsonMapper.ToJson(uiMsg)); } MGGlobalDataCenter.defaultCenter().isStop = true; Time.timeScale = 0; stopLayerObj = createOneUI(stopLayer, Vector3.zero); continueButtonObj = createOneUI(continueButton, Vector3.zero); continueButtonObj.GetComponent <UISprite>().depth = 3; UIEventListener.Get(continueButtonObj).onClick = continueGame; homeButtonObj = createOneUI(homeButton, new Vector3(MGGlobalDataCenter.defaultCenter().screenLiftX + MGGlobalDataCenter.defaultCenter().NGUI_ButtonWidth / 2 + 0.3f, MGGlobalDataCenter.defaultCenter().screenBottomY + MGGlobalDataCenter.defaultCenter().NGUI_ButtonWidth / 2 + 0.3f, 0f)); homeButtonObj.GetComponent <UISprite>().depth = 3; UIEventListener.Get(homeButtonObj).onClick = homeClick; } }
public void triggerFunc(MGNotification notification) { string tag = null, name = null; if (notification.objc is Collider2D)//自己要做的 { tag = (notification.objc as Collider2D).tag; name = (notification.objc as Collider2D).name; } else if (notification.objc is MGMsgModel)//对面要做的 { tag = (notification.objc as MGMsgModel).tag; name = (notification.objc as MGMsgModel).name; } //Debug.Log(tag + ";" + name); if (isBreak) { return; } if (name == "bones(Clone)" || name == "sprint(Clone)") { //Debug.Log("roadblock break"); isBreak = true; try { this.GetComponent <Animator>().SetBool("isBreak", true); } catch { } } if (tag != "Player") { return; } if (name != releaseSkillObjectName) { string strrole = "role"; int irole = strrole.Length; if (name.Length >= irole && name.Substring(0, irole) == strrole) { MGGlobalDataCenter.defaultCenter().isRoadBlockHit = true; } else { MGGlobalDataCenter.defaultCenter().isRoadBlockDefence = true; } //print("技能名:路障。被打中的是" + name + ",释放技能的是" + releaseSkillObjectName); isBreak = true; try{ this.GetComponent <Animator>().SetBool("isBreak", true); }catch {} MGNotificationCenter.defaultCenter().postNotification(RoleButtonEvent.killAnimLatterEventId, name); GameObject objc = GameObject.Find(name); if (objc) { int boneMask = objc.GetComponent <Jump>().stateMask & roleState.bone; int sprintMask = objc.GetComponent <Jump>().stateMask & roleState.sprint; if (boneMask != 0 || sprintMask != 0) { return; } } if (notification.objc is Collider2D) { MGMsgModel skillModel = new MGMsgModel(); skillModel.eventId = SkillEffectEnum.roadblock; skillModel.gameobjectName = name; //发送给自己 MGNotificationCenter.defaultCenter().postNotification(SkillEffectEnum.roadblock, skillModel); } } }
// Update is called once per frame void Update() { if (isCallChangeKillFlag) { isKillRoadblock = false; isCallChangeKillFlag = false; } //检测角色的动作 if (isDead)//死亡导致结束 { //Debug.Log("out of left moving:"+this.gameObject.name); if (transform.position.x > MGGlobalDataCenter.defaultCenter().screenLiftX - 1f && transform.position.y > MGGlobalDataCenter.defaultCenter().screenBottomY - 1f) { //Debug.Log("left moving:"+this.gameObject.name); transform.Translate(Vector3.left * 4 * Time.deltaTime); } else { isDead = false; if (this.gameObject.name == "role") { MGGlobalDataCenter.defaultCenter().overSenceUIName = "failFrontGameUI"; MGGlobalDataCenter.defaultCenter().isDefeat = true; } else if (this.gameObject.name == "role1") { MGGlobalDataCenter.defaultCenter().overSenceUIName = "victoryFrontGameUI"; MGGlobalDataCenter.defaultCenter().isVictory = true; } print("win=" + MGGlobalDataCenter.defaultCenter().isVictory + "defeated=" + MGGlobalDataCenter.defaultCenter().isDefeat); Application.LoadLevel("overSence"); MGMsgModel gameoverModel = new MGMsgModel(); gameoverModel.eventId = RoleActEventEnum.gameoverEventId; gameoverModel.gameobjectName = MGGlobalDataCenter.defaultCenter().overSenceUIName; jumpSprict.mgNetWorking.sendMessageToPeer(JsonMapper.ToJson(gameoverModel)); } return; } //动作切换 //通过速度判断是否下落,下落有2中情况,正常下落和加速下落 对应不同动画,前提条件是必须在空中,否则isRollBack表示上下翻滚。 if (isPressDown && isFirstJump)//加速下落,切换到翻滚动作 { //Debug.Log("切换加速下落动画"); rigidbody2D.gravityScale = 10f;//保证加速下落过程中的重力 if (MGGlobalDataCenter.defaultCenter().roadOrignY - transform.position.y >= 0) { Debug.Log("pressDown过程中接触地面"); isSecondJump = false; rigidbody2D.gravityScale = 0f; rigidbody2D.velocity = Vector3.zero; transform.Translate(Vector3.down * this.GetComponent <SpriteRenderer>().sprite.bounds.size.y *Time.deltaTime / rollDuration); isPressDownToGround = true; isRoll = true; rollTimer += Time.deltaTime; } if (isPressDownToGround && isChangeDownOrUp)//如果接触地面 且切换了方向 则切换到上下翻滚判断逻辑 { //Debug.Log("接触地面后切换方向"); isFirstJump = false; isPressDownToGround = false; rigidbody2D.gravityScale = 0.0f; rigidbody2D.velocity = Vector3.zero; } //判断翻滚是否结束 else if (transform.position.y < MGGlobalDataCenter.defaultCenter().roadOrignY&& Mathf.Abs(MGGlobalDataCenter.defaultCenter().roadOrignY - transform.position.y) > this.GetComponent <SpriteRenderer>().sprite.bounds.size.y) { //Debug.Log("MGGlobalDataCenter.defaultCenter().roadOrignY" + MGGlobalDataCenter.defaultCenter().roadOrignY); //Debug.Log("transform.position.y" + transform.position.y); //Debug.Log("this.GetComponent<SpriteRenderer>().sprite.bounds.size.y" + this.GetComponent<SpriteRenderer>().sprite.bounds.size.y); //Debug.Log("加速下翻动作完成"); toNomalRun(); changeRollBackState(); } } if (!isPressDown && isFirstJump && player.velocity.y <= -0.1f) { if (isSecondJump == false && isFirstJump == true)//正常下落 { //Debug.Log("一段跳后切换正常下落动画"); isFallDown = true; setAllAnimStateToFalse(); animStateToFallDown(); } else if (isSecondJump == true && player.velocity.y < -8f) { //Debug.Log("二段跳后切换正常下落动画"); isFallDown = true; setAllAnimStateToFalse(); animStateToFallDown(); } } //正常下落后回到地面需要切换回正常动画 if (this.GetComponent <Jump>().isGround == true && isFirstJump && !isPressDown) { //Debug.Log("切换回正常动画"); toNomalRun(); animStateToRun(); } //说明正在上下翻滚 if (isRoll == true && !isFirstJump) { //Debug.Log("正在上下翻滚:" + rollTimer); //判断翻滚是否结束 float dis = this.GetComponent <SpriteRenderer>().sprite.bounds.size.y; rollTimer += Time.deltaTime; if (isChangeDownOrUp)//是否在翻滚过程中切换了方向 { isChangeDownOrUp = false; rollTimer = rollDuration - rollTimer; } if (rollTimer >= rollDuration) { changeRollBackState(); } else { if (downOrUp)//正在下落 { transform.Translate(Vector3.down * dis * Time.deltaTime / rollDuration); } else//正在上翻 { transform.Translate(Vector3.up * dis * Time.deltaTime / rollDuration); } } } }
// Update is called once per frame void Update() { playSkillAnimation(); if (!isEndedFreeze) { timer += Time.deltaTime; int length = wordDelayTimeArrayList.Length; for (int i = length - 1; i >= 0; --i) { //Debug.Log("time=" + timer.ToString() + ";wordDelayTimeArrayList[i]=" + wordDelayTimeArrayList[i]); int isInstance = (wordMask >> i) & 1; if (isInstance == 0 && timer >= wordDelayTimeArrayList[i]) { //出现一个字 Debug.Log("此处应该出现一个字:" + wordSpriteArrayList[i]); wordMask += 1 << i; GameObject oneWord = GameObject.Instantiate(this.wordSprite) as GameObject; oneWord.transform.parent = this.plane.transform; oneWord.transform.position = wordPosArrayList[i]; oneWord.transform.rotation = Quaternion.Euler(0, 0, 0); oneWord.transform.localScale = new Vector3(0.5f, 1f, 1f); oneWord.layer = bigSkillPlaneLayer; oneWord.GetComponent <SpriteRenderer>().sortingLayerID = 3; oneWord.GetComponent <SpriteRenderer>().sprite = wordSpriteArrayList[i]; break; } } if (timer >= duration) { GameObject roleLater = GameObject.Find("role1"); roleLater.GetComponent <RoleAnimController>().isSprint = true; roleLater.GetComponent <RoleAnimController>().setAllAnimStateToFalse(); roleLater.GetComponent <Animator>().SetBool("sprint", true); roleLater.GetComponent <SpriteRenderer>().material = new Material(Shader.Find("long/sprint")); GameObject[] backgroundList = GameObject.FindGameObjectsWithTag("Background"); MGGlobalDataCenter.defaultCenter().isRun = true; for (int i = 0; i < backgroundList.Length; ++i) { backgroundList[i].GetComponent <bgnear>().speed += 20; } backgroundList = GameObject.FindGameObjectsWithTag("Road"); for (int i = 0; i < backgroundList.Length; ++i) { backgroundList[i].GetComponent <bgnear>().speed += 20; } MGMsgModel skillModel = new MGMsgModel(); skillModel.eventId = SkillEffectEnum.sprint; skillModel.gameobjectName = this.releaseSkillObjectName; //发送给自己 MGNotificationCenter.defaultCenter().postNotification(SkillEffectEnum.sprint, skillModel); UILabel label = GameObject.Find("log").GetComponent <UIInput>().label; label.text += "\r\nsprint end"; isEndedFreeze = true; Time.timeScale = 1f; GameObject releaseRole = GameObject.Find("role1"); releaseRole.layer = 9;//gamelayer this.gameObject.layer = 9; MGGlobalDataCenter.defaultCenter().isBigSkilling = false; Destroy(this.m_cloneCamera); } } }