Ejemplo n.º 1
0
    /// <summary>
    /// ステート開始処理
    /// </summary>
    void IState.Start()
    {
        // ジャンプ受付時間タイマー開始
        playerAfterSlide.StartTimer();
        // 手すりをつかむ猶予時間
        var catchSliderTime = playerAfterSlide.catchSliderTime_SlideToSlide;

        // 手すりヒット判定
        playerSlide.RayTimerStart(catchSliderTime);
        // 重力加速度を変更
        playerRigidbody2D.gravityScale = 1f;
    }
Ejemplo n.º 2
0
    /// <summary>
    /// フレーム更新処理
    /// </summary>
    void IState.Update()
    {
        // ジャンプボタンが押されたら
        if (character.IsGlideStart == true)
        {
            // 滑空状態に移行
            character.GlideStart();
            // ブーストのキー入力を確認
            playerCharge.BoostKeyCheck();
            return;
        }
        // 着地したら
        if (character.IsGround == true)
        {
            // ラン状態に移行
            character.RunStart();
            // ブーストのキー入力を確認
            playerCharge.BoostKeyCheck();
            return;
        }

        // アクションボタンが押されたら
        if (character.IsSlideStart == true)
        {
            // 手すりをつかむ猶予時間
            var catchSliderTime = playerSlide.catchSliderTime;
            // 手すりヒット判定
            playerSlide.RayTimerStart(catchSliderTime);
            // 保留 演出の終了
            // playerSlide.EffectOff();
            // チャージ演出を一時停止する
            playerCharge.ChargeStop();
        }

        // ショットボタンが押されたら
        if (character.IsAttack == true)
        {
            playerAttack.Attack();
        }

        // 弾に当たったら
        if (playerAttack.IsHit == true)
        {
            // ダウン状態に移行
            character.Down();
            return;
        }
        // ブーストのキー入力を確認
        playerCharge.BoostKeyCheck();
    }
Ejemplo n.º 3
0
    /// <summary>
    /// フレーム更新処理
    /// </summary>
    void IState.Update()
    {
        // ジャンプボタンが押されたら
        if (character.IsJumpStart == true)
        {
            // ジャンプ
            playerJump.Jump();
            // 空中状態に移行
            character.AerialStart();
        }

        // アクションボタンが押されたら
        if (character.IsSlideStart == true)
        {
            // 手すりをつかむ猶予時間
            var catchSliderTime = playerSlide.catchSliderTime;
            // 手すりヒット判定
            playerSlide.RayTimerStart(catchSliderTime);
        }

        // 地面から落ちたら
        if (character.IsGround == false)
        {
            // 空中状態に移行
            character.AerialStart();
        }

        // 弾に当たったら
        if (playerAttack.IsHit == true)
        {
            // ダウン状態に移行
            character.Down();
        }

        // アタックボタンが押されたら
        if (character.IsAttack == true)
        {
            playerAttack.Attack();
        }

        // ブーストのキー入力を確認
        playerCharge.BoostKeyCheck();
    }
Ejemplo n.º 4
0
    /// <summary>
    /// フレーム更新処理
    /// </summary>
    void IState.Update()
    {
        // アクションボタンが押されたら
        if (character.IsSlideStart == true)
        {
            // 手すりをつかむ猶予時間
            var catchSliderTime = playerSlide.catchSliderTime;
            // 手すりヒット判定
            playerSlide.RayTimerStart(catchSliderTime);
        }
        // ブーストが終了するかチェック
        if (playerBoost.FinishCheck())
        {
            // 地面に接地しているなら
            if (character.IsGround == true)
            {
                // 走り状態に移行
                character.RunStart();
            }
            else
            {
                // 空中状態に移行
                character.AerialStart();
            }
        } // if(playerBoost.FinishCheck)

        // ショットボタンが押されたら
        if (character.IsAttack)
        {
            // 攻撃を行う
            playerAttack.Attack();
        }

        // 弾に当たったら
        if (playerAttack.IsHit == true)
        {
            // ダウン状態に変更
            character.Down();
        }
    } // Do