Example #1
0
 private void InputCamera()
 {
     if (pManager == null)
     {
         return;
     }
     if (pManager.cameraDirection.y >= 0.3)
     {
         dir = CameraDir.UP;
     }
     else if (pManager.cameraDirection.y <= -0.3)
     {
         dir = CameraDir.DOWN;
     }
     else if (pManager.cameraDirection.x >= 0.3)
     {
         dir = CameraDir.RIGHT;
     }
     else if (pManager.cameraDirection.x <= -0.3)
     {
         dir = CameraDir.LEFT;
     }
     else
     {
         dir = CameraDir.NON;
     }
 }
Example #2
0
    public void PushedLeftButton()
    {
        if (canPush)
        {
            switch (currentCamDir)
            {
            //正面 → 左
            case CameraDir.Forward:
                TurnToLeft();

                titleAnimator.SetBool("canFrameOut", true);     //タイトルをフレームアウト

                currentCamDir = CameraDir.Left;
                break;

            //左 → 後ろ
            case CameraDir.Left:
                TurnToBack();
                currentCamDir = CameraDir.Back;

                break;

            //後ろ → 右
            case CameraDir.Back:
                TurnToRight();
                currentCamDir = CameraDir.Right;
                break;

            //右 → 正面
            case CameraDir.Right:
                TurnToForward();

                titleAnimator.SetBool("canFrameOut", false);     //タイトルを再表示

                currentCamDir = CameraDir.Forward;
                break;

            default:
                Debug.Log("そんな方向はない");
                break;
            }

            rightButtonAnimator.SetTrigger("isPushed");
            leftButtonAnimator.SetTrigger("isPushed");
            middleButtonAnimator.SetTrigger("isPushed");
            canPush = false;

            StartCoroutine(DelayMethod(1f, () =>
            {
                canPush = true;
            }));
        }
    }
Example #3
0
    void Start()
    {
        Fade.SetFade();
        StartCoroutine(Fadeout());
        player   = GameObject.FindGameObjectWithTag("Player");
        pManager = player.GetComponent <PlayerInputManager>();
        position = new Vector3(0.0f, CAMERA_Y, CAMERA_Z);
        dir      = CameraDir.NON;
        GameObject obj = GameObject.Find("Goal");

        if (obj == null)
        {
            obj = GameObject.Find("FlowGoal");
        }
        penguinPosition.Add(new Vector3(obj.transform.position.x + 0.5f, obj.transform.position.y + 0.5f, -25.0f));
        GameObject[]   babyPenguins = GameObject.FindGameObjectsWithTag("BabyPenguin");
        List <Vector3> bpos         = new List <Vector3>();

        for (int i = 0; i < babyPenguins.Length; i++)
        {
            bpos.Add(new Vector3(babyPenguins[i].transform.position.x, babyPenguins[i].transform.position.y, -25.0f));
        }
        for (int i = 0; i < bpos.Count - 1; i++)
        {
            if (Mathf.Abs(penguinPosition[0].magnitude - bpos[i].magnitude) > Mathf.Abs(penguinPosition[0].magnitude - bpos[i + 1].magnitude))
            {
                Vector3 tmp = bpos[i];
                bpos[i]     = bpos[i + 1];
                bpos[i + 1] = tmp;
            }
        }

        for (int i = 0; i < bpos.Count; i++)
        {
            penguinPosition.Add(bpos[i]);
        }
        penguinPosition.Add(new Vector3(player.transform.position.x, player.transform.position.y + 4.0f, -25.0f));
    }