Exemplo n.º 1
0
 void OnCollisionStay2D(Collision2D other)
 {
     if (state == Global.Condition.FALL)
     {
         state = Global.Condition.STAND;
     }
 }
Exemplo n.º 2
0
 void OnCollisionExit2D(Collision2D other)
 {
     //这里是砖块倒塌情况的判断
     if (i_s <= 0)
     {
         state = Global.Condition.FALL;
     }
 }
Exemplo n.º 3
0
 /// <summary>
 /// 上升状态执行
 /// </summary>
 void Up()
 {
     DoJump();
     //逻辑上i_s<=0即为下落状态,刻意使之为负,以得到更明显的逻辑区分
     if (i_s <= -0.1f)
     {
         state = Global.Condition.FALL;
     }
 }
Exemplo n.º 4
0
 /// <summary>
 /// 站立状态执行
 /// </summary>
 void Stand()
 {
     anim.SetBool("Fall", false);
     anim.SetBool("Idle", true);
     Global.high = this.transform.position.y;
     if (GetClick())
     {
         //选择在准备跳跃前一刻重设i_s值,这样在跳起前i_s值为负,可区分砖块倒塌情况和自主跳起情况
         i_s   = speed;
         state = Global.Condition.UP;
         //播放跳起音效
         if (Global.sound)
         {
             au.PlayOneShot(jump);
         }
     }
 }
Exemplo n.º 5
0
 void OnCollisionEnter2D(Collision2D other)
 {
     if (other.gameObject.tag == "Brick")
     {
         // if(state == Condition.STAND)
         // {
         //  print("横撞而死");
         //  state = Condition.DIE;
         // }
         if (state == Global.Condition.FALL)
         {
             print("站稳");
             state = Global.Condition.STAND;
         }
         if (state == Global.Condition.UP)
         {
             print("顶死");
             state = Global.Condition.DIE;
         }
     }
 }
Exemplo n.º 6
0
 // Use this for initialization
 void Start()
 {
     oncetimedie = true;
     state       = Global.Condition.FALL;
     i_s         = -1;
 }