public float m_fMaxXRot; //X軸の最大角度 /// <summary> /// 当たり判定 /// </summary> /// <param name="col">Col.</param> void OnTriggerEnter(Collider col) { if (col.gameObject.tag != "CreditObj" && col.gameObject.tag != "CreditGoal" && col.gameObject.tag != "Player") { return; } //現在の角度を保存 Vector3 rot = transform.rotation.eulerAngles; //回転角度決定 float fRotX = Random.Range(m_fMinXRot, m_fMaxXRot); float fRotY = Random.Range(m_fMinYRot, m_fMaxYRot); //回転実行 transform.Rotate(transform.up, fRotY); transform.Rotate(transform.right, fRotX); //Debug.Log ("fRotX" + fRotX); //Debug.Log ("fRotY" + fRotY); if (col.gameObject.tag == "CreditObj") { //Rigidbodyを取得して力を加える col.gameObject.GetComponent <Rigidbody>().AddForce(transform.forward * m_CrashPower, ForceMode.Force); col.gameObject.GetComponent <Rigidbody>().AddTorque(transform.right * m_CrashPower, ForceMode.Force); SoundManager.Instance.PlaySE(6); } if (col.gameObject.tag == "Player") { //Rigidbodyを取得して力を加える col.gameObject.GetComponent <Rigidbody>().AddForce(transform.forward * m_CrashPower, ForceMode.Force); col.gameObject.GetComponent <Rigidbody>().AddTorque(transform.right * m_CrashPower, ForceMode.Force); SoundManager.Instance.PlaySE(6); col.gameObject.GetComponent <CreditMove> ().enabled = false; col.gameObject.GetComponent <Animator> ().enabled = false; } if (col.gameObject.tag == "CreditGoal") { //カメラを揺らす Camera.main.GetComponent <CreditShakeCamera>().enabled = true; //トラックを止める GetComponent <CreditMove>().enabled = false; //シーンを変える SceneChanger.SetScene("StageSelect"); } //角度を戻す transform.rotation = Quaternion.Euler(rot); }
/// <summary> /// アップデート関数 /// </summary> void Update() { //カウントダウン開始判定 if (SceneChanger.GetFadeFlg() == false && m_bCountDown == false) { //現在の時間取得 m_CurrentTime = Time.time; //フラグON m_bCountDown = true; } //カウントダウン中しか処理をしない if (m_bCountDown == false) { return; } //1秒経過したら if (Time.time - m_CurrentTime > 1.0f) { m_nCount++; //カウントする m_CurrentTime = Time.time; //現在時間更新 //カウントダウンが終了したら if ((m_nCountTime - m_nCount) == 0) { m_Player.enabled = true; //プレイヤーを動かす m_Move.enabled = false; //カウントダウン用の移動をOFFにする gameObject.SetActive(false); //スクリプトをOFFにする // 時間計測開始 GameObject.Find("Timer").GetComponent <GameTimer>().Play(); // サウンド再生 SoundManager.Instance.PlaySE(4); } else { //終了していなかったら m_CountText.text = (m_nCountTime - m_nCount).ToString(); //テキスト更新 } } }
/// <summary> /// スキップボタンが押されたら /// </summary> public void OnSkipButton() { SceneChanger.SetScene("StageSelect"); }
/// <summary> /// 当たり判定 /// </summary> /// <param name="col">Col.</param> void OnTriggerEnter(Collider col) { if (col.gameObject.tag != "Player" && col.gameObject.tag != "Obstacle") { return; } //現在の角度を保存 Vector3 rot = transform.rotation.eulerAngles; //回転角度決定 float fRotX = Random.Range(m_fMinXRot, m_fMaxXRot); float fRotY = Random.Range(m_fMinYRot, m_fMaxYRot); //回転実行 transform.Rotate(transform.up, fRotY); transform.Rotate(transform.right, fRotX); //Debug.Log ("fRotX" + fRotX); //Debug.Log ("fRotY" + fRotY); if (col.gameObject.tag == "Obstacle") { //Rigidbodyを取得して力を加える col.gameObject.GetComponent <Rigidbody>().AddForce(transform.forward * m_CrashPower, ForceMode.Force); col.gameObject.GetComponent <Rigidbody>().AddTorque(transform.right * m_CrashPower, ForceMode.Force); //削除用のスクリプトをONにする col.gameObject.GetComponent <DeleteObstacle>().enabled = true; //col.gameObject.GetComponent<BoxCollider>().enabled = false; col.gameObject.tag = "HitObstacle"; } if (col.gameObject.tag == "Player") { //Debug.Log ("ひっと"); //Rigidbodyを取得して力を加える col.gameObject.transform.GetComponent <Rigidbody>().AddForce(transform.forward * m_CrashPower * 1.5f, ForceMode.Force); col.gameObject.transform.GetComponent <Rigidbody>().AddTorque(transform.right * m_CrashPower * 1.5f, ForceMode.Force); //プレイヤースクリプトをOFFにする col.gameObject.GetComponent <Player>().enabled = false; //アニメーションをOFFにする // col.gameObject.GetComponent<Animator>().enabled = false; //残りの距離表示を消す GameObject.Find("DistanceScreen").GetComponent <Canvas>().enabled = false; // プレイヤー GameObject.Find("Player").GetComponent <Player>().enabled = false; // タイマーをとめる GameObject.Find("Timer").GetComponent <GameTimer>().End(); // ゲームUI GameObject.Find("Canvas").GetComponent <Canvas>().enabled = false; // カメラ Camera.main.GetComponent <ChaseCamera>().enabled = false; //トラックを止める GameObject.Find("Mini_Truck").GetComponent <Truck>().enabled = false; this.enabled = false; //フェード中はゲームオーバー画面を表示しない if (SceneChanger.GetFadeFlg() == false) { GameObject.Find("Result").GetComponent <ClearGenerator>().Open(); } } //Debug.Log ("m_CrashPower" + m_CrashPower); //角度を戻す transform.rotation = Quaternion.Euler(rot); }