Example #1
0
        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);
        }
Example #2
0
        /// <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(); //テキスト更新
                }
            }
        }
Example #3
0
 /// <summary>
 /// スキップボタンが押されたら
 /// </summary>
 public void OnSkipButton()
 {
     SceneChanger.SetScene("StageSelect");
 }
Example #4
0
        /// <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);
        }