Exemple #1
0
 //爬墙转向
 public void ClimpRotate()
 {
     if (nowDir == PlayDir.Left)
     {
         nowDir = PlayDir.Right;
         transform.Rotate(0, 180, 0);
     }
     else
     {
         nowDir = PlayDir.Left;
         transform.Rotate(0, -180, 0);
     }
 }
Exemple #2
0
    void Start()
    {
        isAlive    = true;
        nowDir     = PlayDir.Right;
        boxSize    = new Vector2(0.66f, 1.32f); //设置盒子射线的大小
        startPoint = transform.position;
        //startPoint.y = -2.56f;      //初始高度修正

        playAnimator = GetComponent <Animator>();

        gravityEnable = true;
        inputEnable   = true;
        jumpState     = false;
        isCanDash     = true; //状态初始化

        playerLayerMask = LayerMask.GetMask("Player");
        playerLayerMask = ~playerLayerMask;             //获得当前玩家层级的mask值,并使用~运算,让射线忽略玩家层检测
    }
Exemple #3
0
 void CheckDir()
 {
     if (playState == PlayState.Climb || playState == PlayState.Dash)
     {
         return;
     }
     lastDir = playDir;
     if (input.MoveDir > 0)
     {
         playDir = PlayDir.Right;
     }
     else if (input.MoveDir < 0)
     {
         playDir = PlayDir.Left;
     }
     if (lastDir != playDir)
     {
         transform.localScale = new Vector3(GetDirInt, transform.localScale.y, transform.localScale.z);
     }
 }
Exemple #4
0
 // Use this for initialization
 void Start()
 {
     dir        = GetComponent <PlayDir>();
     controller = GetComponent <CharacterController>();
     attack     = GetComponent <PlayerAttack>();
 }