예제 #1
0
    void Update()
    {
        // bulletにぶつかったらtrueになるので、ここでスコアを加算してから自分自身を破棄する.
        if (colliderOrNot == true)
        {
            scoreNumScript        = GameObject.Find("scoreNum").GetComponent <scoreNum>();
            scoreNumScript.score += 100;
            colliderOrNot         = false;
            Destroy(gameObject);
        }

        // enemyがこちらに向かってくる.
        transform.Translate(Vector3.up * movingSpeed * Time.deltaTime);

        // playerを通り過ぎたenemyを破棄する.
        if (transform.position.z < -5.0)
        {
            Destroy(gameObject);
        }

        // playerオブジェクトを取得.
        playerObject = GameObject.Find("Player");

        // playerとの距離が攻撃範囲まで近づいたかどうか判定.
        float distancePlayer = transform.position.z - playerObject.transform.position.z;

        // まずはplayerが射程距離に入ってるかどうか。それが大前提.
        if (distancePlayer <= shotRange && distancePlayer >= closeShotRange)
        {
            shotEnemyBullet();
        }

        // 弾の発射間隔を調節する。大体秒間5発ぐらい.
        // 正常に加算される。progressTimeの初期値がどんな桁数でも.
        progressTime += Time.deltaTime;

        if (progressTime >= shotInterval)
        {
            // 経過時間をリセット.
            progressTime = 0.0f;
            bulletEnable = true;
        }

        enemyRotationReset();

        enemySideAttack();

        if (sideAttackFlags)
        {
            if (leftOrNot && transform.position.x > -9.2f)
            {
                transform.Translate(Vector3.left * movingSpeed * Time.deltaTime * 0.2f);
            }
            else if (leftOrNot == false && transform.position.x < 9.2f)
            {
                transform.Translate(Vector3.right * movingSpeed * Time.deltaTime * 0.2f);
            }
        }
    }
예제 #2
0
    void Update()
    {
        // 弾丸数増加.
        if ( addBullet == true ) {

            bulletNum += 1;
            addBullet = false;

        }

        // scoreアップ.
        if ( item1_get == true ) {

            scoreNumScript = GameObject.Find("scoreNum").GetComponent<scoreNum>();
            scoreNumScript.score += 1000;
            item1_get = false;

        }

        // 1発被弾するとtrueになり、addDamageNumが1加算される.
        if ( addDamage == true ) {

            addDamageTurn += 1;
            addDamage = false;

        }

        // playerがダメージ受けた時の処理.
        if ( addDamageTurn >= 1 ) {

            hpDecrease();

        }

        // hp回復の処理.
        if ( hpRecoveryBool == true ) {

            hpRecovery();

        }

        // energyゲージがmaxになったかどうか.
        if ( energyMaxBool == false ) {

            energyRecovery();

        }

        // superBulletを発射する処理.
        if ( energyMaxBool == true && Input.GetButton( "Fire2" ) && whileFiring == false ) {

            whileFiring = true;

            // ここでスーパーブレットを生成。インスタンス化 .
            Vector3 superShotPosition = transform.position + new Vector3(0, 0, 2.5f);
            Instantiate( superBprefab, superShotPosition, Quaternion.identity );

        }

        if ( whileFiring == true ) {

            EnergyBar.Health -= 2;

            if ( energyDecrement == 50 ) {

                whileFiring = false;
                energyMaxBool = false;
                energyDecrement = 0;

            }

            energyDecrement += 1;

        }

        playerMoveControl();
        playerRotationReset();

        // ctrlキーを押した時の挙動.
        if( Input.GetButton( "Fire1" ) && bulletEnable == true ) {

            bulletEnable = false;
            shotBullet();

        }

        // 弾の発射間隔を調節する。大体秒間5発ぐらい.
        // ↓正常に加算される。progressTimeの初期値がどんな桁数でも.
        progressTime += Time.deltaTime;
        // Debug.Log("progressTime: " + progressTime);
        if ( progressTime >= shotInterval ) {

            // 経過時間をリセット.
            progressTime = 0.0f;
            bulletEnable = true;

        }
    }
예제 #3
0
    void Update()
    {
        // 弾丸数増加.
        if (addBullet == true)
        {
            bulletNum += 1;
            addBullet  = false;
        }

        // scoreアップ.
        if (item1_get == true)
        {
            scoreNumScript        = GameObject.Find("scoreNum").GetComponent <scoreNum>();
            scoreNumScript.score += 1000;
            item1_get             = false;
        }

        // 1発被弾するとtrueになり、addDamageNumが1加算される.
        if (addDamage == true)
        {
            addDamageTurn += 1;
            addDamage      = false;
        }

        // playerがダメージ受けた時の処理.
        if (addDamageTurn >= 1)
        {
            hpDecrease();
        }

        // hp回復の処理.
        if (hpRecoveryBool == true)
        {
            hpRecovery();
        }

        // energyゲージがmaxになったかどうか.
        if (energyMaxBool == false)
        {
            energyRecovery();
        }

        // superBulletを発射する処理.
        if (energyMaxBool == true && Input.GetButton("Fire2") && whileFiring == false)
        {
            whileFiring = true;

            // ここでスーパーブレットを生成。インスタンス化 .
            Vector3 superShotPosition = transform.position + new Vector3(0, 0, 2.5f);
            Instantiate(superBprefab, superShotPosition, Quaternion.identity);
        }

        if (whileFiring == true)
        {
            EnergyBar.Health -= 2;

            if (energyDecrement == 50)
            {
                whileFiring     = false;
                energyMaxBool   = false;
                energyDecrement = 0;
            }

            energyDecrement += 1;
        }

        playerMoveControl();
        playerRotationReset();

        // ctrlキーを押した時の挙動.
        if (Input.GetButton("Fire1") && bulletEnable == true)
        {
            bulletEnable = false;
            shotBullet();
        }

        // 弾の発射間隔を調節する。大体秒間5発ぐらい.
        // ↓正常に加算される。progressTimeの初期値がどんな桁数でも.
        progressTime += Time.deltaTime;
        // Debug.Log("progressTime: " + progressTime);
        if (progressTime >= shotInterval)
        {
            // 経過時間をリセット.
            progressTime = 0.0f;
            bulletEnable = true;
        }
    }
예제 #4
0
    void Update()
    {
        // bulletにぶつかったらtrueになるので、ここでスコアを加算してから自分自身を破棄する.
        if ( colliderOrNot == true ) {

            scoreNumScript = GameObject.Find("scoreNum").GetComponent<scoreNum>();
            scoreNumScript.score += 100;
            colliderOrNot = false;
            Destroy(gameObject);

        }

        // enemyがこちらに向かってくる.
        transform.Translate(Vector3.up * movingSpeed * Time.deltaTime);

        // playerを通り過ぎたenemyを破棄する.
        if (transform.position.z < -5.0) {

            Destroy(gameObject);

        }

        // playerオブジェクトを取得.
        playerObject = GameObject.Find("Player");

        // playerとの距離が攻撃範囲まで近づいたかどうか判定.
        float distancePlayer = transform.position.z - playerObject.transform.position.z;

        // まずはplayerが射程距離に入ってるかどうか。それが大前提.
        if ( distancePlayer <= shotRange && distancePlayer >= closeShotRange ) {

            shotEnemyBullet();

        }

        // 弾の発射間隔を調節する。大体秒間5発ぐらい.
        // 正常に加算される。progressTimeの初期値がどんな桁数でも.
        progressTime += Time.deltaTime;

        if ( progressTime >= shotInterval ) {

            // 経過時間をリセット.
            progressTime = 0.0f;
            bulletEnable = true;

        }

        enemyRotationReset();

        enemySideAttack();

        if ( sideAttackFlags ) {

            if ( leftOrNot && transform.position.x > -9.2f ) {

                transform.Translate( Vector3.left * movingSpeed * Time.deltaTime * 0.2f );

            } else if ( leftOrNot == false && transform.position.x < 9.2f ) {

                transform.Translate( Vector3.right * movingSpeed * Time.deltaTime * 0.2f );

            }

        }
    }