Esempio n. 1
0
 private void SetFlickDirection(Vector2 flick_vec)
 {
     //IL_0000: Unknown result type (might be due to invalid IL or missing references)
     //IL_0001: Unknown result type (might be due to invalid IL or missing references)
     if (!(flick_vec == Vector2.get_zero()))
     {
         float num  = Mathf.Atan2(flick_vec.y, flick_vec.x);
         float num2 = Mathf.Abs(num);
         if (num > 0f)
         {
             if (num2 < QUARTER_PI)
             {
                 flickDirection = FLICK_DIRECTION.RIGHT;
             }
             else if (num2 > THREE_QUARTER_PI)
             {
                 flickDirection = FLICK_DIRECTION.LEFT;
             }
             else
             {
                 flickDirection = FLICK_DIRECTION.FRONT;
             }
         }
         else if (num2 < QUARTER_PI)
         {
             flickDirection = FLICK_DIRECTION.RIGHT;
         }
         else if (num2 > THREE_QUARTER_PI)
         {
             flickDirection = FLICK_DIRECTION.LEFT;
         }
         else
         {
             flickDirection = FLICK_DIRECTION.REAR;
         }
     }
 }
Esempio n. 2
0
    /// <summary>
    /// ユーザーの入力待ち
    /// </summary>
    private void WaitInput()
    {
        if (Input.GetMouseButtonDown(0))
        {
            pointDownPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
            pointDownTime     = Time.time;
        }
        if (Input.GetMouseButtonUp(0))
        {
            pointUpPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
            pointUpTime     = Time.time;

            var flickdistance = Vector3.Distance(pointDownPosition, pointUpPosition);

            //Debug.Log("flickdistance " + flickdistance);
            if (flickdistance > FLICK_DISTANCE && (pointUpTime - pointDownTime) < FLICK_DECISION_TIME)
            {
                //横方向へのフリックの場合
                if ((Mathf.Abs(pointUpPosition.x - pointDownPosition.x)) >= (Mathf.Abs(pointUpPosition.y - pointDownPosition.y)))
                {
                    state = STATE.FLICK_ANIMATION;

                    if ((pointUpPosition.x - pointDownPosition.x) < 0)
                    {
                        flickkDirection = FLICK_DIRECTION.LEFT;
                    }
                    else if ((pointUpPosition.x - pointDownPosition.x) > 0)
                    {
                        flickkDirection = FLICK_DIRECTION.RIGHT;
                    }

                    Debug.Log("フリック判定 " + flickkDirection);
                }
            }
        }
    }
Esempio n. 3
0
 /// <summary>
 /// フリックの方向ステータスを設定
 /// </summary>
 /// <param name="state"></param>
 public void SetFlickkDirection(FLICK_DIRECTION flickkDirection)
 {
     this.flickkDirection = flickkDirection;
 }