public void jump()//跳跃消耗和速度 { if (contral.GetStatenum() <= 2 && move.isground() && health.cando()) { move.AddSpeed(0, jumpspeed); health.consumeqi(consume); health.setrecoverqi(false); jumping = true; } }
public void doattack(string s, float time, int num)//动作预设的时间,和预设的触发器,这个函数交给XXcontral来主动触发动作 { if (contral.GetStatenum() <= 2) { if (health.cando()) { contral.doit(s, canAttack(num), time); } } }
public void dash(Charactercontral a) {//冲刺 Heathscrips health = gameObject.GetComponent <Heathscrips>(); if (a.GetStatenum() < 2 && (health == null || health.cando())) { animator.SetBool("dashing", true); move.setX(0); move.setY(0); contral = a; dashes = dashtime; //dash的时间设置为dashtime contral.Setstatenum(3); //技能状态 right = move.Turn(); if (health != null) { health.consumeqi(6); } } }
// Update is called once per frame void Update() { if (right && left) { if (contral.GetStatenum() == 1) { contral.Setstatenum(0); } } else if (left)//输入为左,即为负 { if (contral.GetStatenum() <= 1) { move.Turn(false); //向左转向 ,即为负 角色向左走 contral.Setstatenum(1); //如果不是移动状态设置为移动状态 } if (contral.GetStatenum() <= 2) { move.moves(false);//如果不是技能状态,就可以移动 但是此状态下无法转向 } } else if (right)//输入为右,即为正 角色向右走 { if (contral.GetStatenum() <= 1) { move.Turn(true); //向右转向 contral.Setstatenum(1); //如果不是移动状态设置为移动状态 } if (contral.GetStatenum() <= 2) { move.moves(true);//如果不是技能状态,就可以移动 但是此状态下无法转向 } } else //停止状态 { if (contral.GetStatenum() == 1) { contral.Setstatenum(0); } } right = false; left = false; }