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; } }
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; })); } }
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)); }