Beispiel #1
0
        //------------
        // 完全停止 //
        //----------------------------------------------------------------------------------------

        public void Stop()
        {
            // 操作不可状態に
            mIsActive = false;

            // 移動力をリセット
            mMovementScript.ResetVelocity();

            // 発射されている弾を全て休眠状態に
            mFireScript.SleepAllBullets();
        }
Beispiel #2
0
        private float mGoalZ; // 目標とするz座標

        /// <summary>
        /// mMoveState==DEFAULTの場合に、目標とするz座標を計算する
        /// </summary>
        public void DecideMovement()
        {
            if (mMoveState == MOVE_STATE.DEFAULT)
            {
                // 現在のz座標を取得
                float currentZ = mTrans.position.z;

                // 移動可能なz軸の範囲から乱数取得
                float rand = Random.Range(-14.0f, 15.0f);

                // 取得した乱数と現在のz座標の距離を計算
                float difference = 0.0f;
                if (currentZ >= rand)
                {
                    difference = Mathf.Abs(currentZ - rand);
                    mMoveState = MOVE_STATE.DOWN;
                }
                else
                {
                    difference = Mathf.Abs(rand - currentZ);
                    mMoveState = MOVE_STATE.UP;
                }

                // 距離が1.0f以上あるならば目標の座標を決定し、そうでないならば次フレームまでその場で待機
                if (difference >= 1.0f)
                {
                    mGoalZ = rand;
                }
                else
                {
                    mMoveState = MOVE_STATE.DEFAULT;
                }

                // mMoveStateを条件にして、TankMovementの移動メソッドを呼び出す
                switch (mMoveState)
                {
                case MOVE_STATE.DEFAULT:
                    mMoveScript.ResetVelocity();
                    break;

                case MOVE_STATE.UP:
                    mMoveScript.SetVelocityUp();
                    break;

                case MOVE_STATE.DOWN:
                    mMoveScript.SetVelocityDown();
                    break;
                }
            }
        }