コード例 #1
0
    void Update()
    {
        if (isInChestZone)
        {
            Debug.Log("In the zone!");

            if (Input.GetKeyDown(KeyCode.E))
            {
                Playerlevel.LevelUp();
                ContainerBox.color = Color.black;
                Debug.Log("Is this thing on?");
            }
        }
    }
コード例 #2
0
 private void NextPart()
 {
     bulletsAreFlying = false;
     playerLevel.LevelUp();
     enemySpawner.SpawnSeries();
 }
コード例 #3
0
ファイル: EnemyBasic.cs プロジェクト: uyauya/BomberUnityChan
    // ショット衝突判定

    /*void OnTriggerEnter(Collider collider) {
     *      // Animatorがdead(死亡)だったら判定しない(何もしない)
     *      if (animator.GetBool ("dead") == true) {
     *              return;
     *      }
     *      // Shotタグが付いているオブジェクトに当たったら
     *      if (collider.gameObject.tag == "Shot") {
     *              // 相手を硬直させる(下記DamageSet参照)
     *              DamageSet = true;
     *              // ライフバー表示(下記参照)
     *              StartCoroutine ("LifeBarCoroutine");
     *              // Bullet01スクリプトのdamageを受け取る
     *              damage = collider.gameObject.GetComponent<Bullet01> ().damage;
     *              // 当たり判定用のHit01ObjectをHit01Prefabにし生成
     *              Hit01Object = Instantiate (Hit01Prefab, EffectPoint.position, Quaternion.identity);
     *              // ダメージコルーチン(下記参照)
     *              StartCoroutine ("DamageCoroutine");
     *              // Shot接触時敵Animatorを"damaged"へ移行
     *              // アニメーションした後元に戻すのならSetTriggerの方が単純で良い
     *              animator.SetTrigger ("damaged");
     *              // 敵アーマーポイントからBullet01スクリプトのdamage値を差し引く
     *              armorPoint -= damage;
     *              //ライフバーからもダメージ分ゲージを減らす
     *              LifeBar.GetComponent<LifeBar> ().UpdateArmorPointValue ();
     *              //DamageSet = false;
     *      } else if (collider.gameObject.tag == "Shot2") {
     *              DamageSet = true;
     *              StartCoroutine ("LifeBarCoroutine");
     *              damage = collider.gameObject.GetComponent<Bullet02> ().damage;
     *              Hit02Object = Instantiate (Hit01Prefab, EffectPoint.position, Quaternion.identity);
     *              StartCoroutine ("DamageCoroutine");
     *              animator.SetTrigger ("damaged");
     *              armorPoint -= damage;
     *              LifeBar.GetComponent<LifeBar> ().UpdateArmorPointValue ();
     *      } else if (collider.gameObject.tag == "Shot3") {
     *              //Debug.Log (collider.gameObject.name);
     *              //DamageSet = true;
     *              FreezeSet = true;
     *              StartCoroutine ("LifeBarCoroutine");
     *              damage = collider.gameObject.GetComponent<Bullet03> ().damage;
     *              Hit03Object = Instantiate (Hit01Prefab, EffectPoint.position, Quaternion.identity);
     *              StartCoroutine ("DamageCoroutine");
     *              animator.SetTrigger ("damaged");
     *              armorPoint -= damage;
     *              LifeBar.GetComponent<LifeBar> ().UpdateArmorPointValue ();
     *      } else if (collider.gameObject.tag == "Shot5") {
     *              DamageSet = true;
     *              StartCoroutine ("LifeBarCoroutine");
     *              damage = collider.gameObject.GetComponent<Bullet05> ().damage;
     *              Hit05Object = Instantiate (Hit01Prefab, EffectPoint.position, Quaternion.identity);
     *              StartCoroutine ("DamageCoroutine");
     *              animator.SetTrigger ("damaged");
     *              armorPoint -= damage;
     *              LifeBar.GetComponent<LifeBar> ().UpdateArmorPointValue ();
     *      }
     *
     *      //プレイヤーのいずれかの弾に当たって体力が0以下になったら消滅する
     *      if (collider.gameObject.tag == "Shot" || collider.gameObject.tag == "Shot2" || collider.gameObject.tag == "Shot3"
     || collider.gameObject.tag == "Shot5") {
     ||             if (armorPoint <= 0) {
     ||                     //Debug.Log ("敵"+gameObject.name);
     ||                     // Animatorを"dead"へ移行
     ||                     // 移行後元に戻さないならBool判定にした方がよい
     ||                     animator.SetBool ("dead", true);
     ||                     // 死亡アニメーション中に敵が移動しないようにスピードをゼロにする
     ||                     EnemySpeed = 0;
     ||                     // 敵消滅用エフェクト発生
     ||                     // 敵消滅中にプレイヤに接触ダメージがを与えないようにDeadCoroutine(下記参照)で接触判定を無くす
     ||                     DeadObject = Instantiate (Hit01Prefab, EffectPoint.position, Quaternion.identity);
     ||                     StartCoroutine ("DeadCoroutine");
     ||                     Instantiate (DestroyEffect, transform.position, transform.rotation);
     ||                     // バトルマネージャーにスコア(EnemyScoreで設定)を加算する
     ||                     battleManager = GameObject.Find ("BattleManager").GetComponent<BattleManager> ();
     ||                     DataManager.Score += EnemyScore;
     ||                     // プレイヤのレベルアップ判定(PlayerLevel参照)
     ||                     // レベルに関係している数値はDataManagedrで管理している
     ||                     playerLevel.LevelUp ();
     ||                     // DestroyTime時間後敵消滅
     ||                     Destroy (gameObject, DestroyTime);
     ||                     // ボス、ラスボス消滅後は必ずクリア用スターを出現させる
     ||                     // インスペクタ画面でIsBoss、IsLastBossに✔を付ける
     ||                     if (isBoss == true) {
     ||                             Instantiate (Star, transform.position, transform.rotation);
     ||                     }
     ||                     if (isLastBoss == true) {
     ||                             Instantiate (BigStar, transform.position, transform.rotation);
     ||                     // ボス、ラスボス以外が消滅後は一定確率(0,RedEncountでRedEncount分の1)でアイテム出現
     ||                     } else if (Random.Range (0, RedEncount) == 0) {
     ||                             Instantiate (RedSphere, transform.position, transform.rotation);
     ||                             //Vector3 Pog = this.gameObject.transform.position;
     ||                             //Instantiate (RedSphere, transform.position += new Vector3(0 , SphereHeight, 0), transform.rotation);
     ||                     } else if (Random.Range (0, BlueEncount) == 0) {
     ||                             Instantiate (BlueSphere, transform.position, transform.rotation);
     ||                             //Vector3 Pog = this.gameObject.transform.position;
     ||                             //Instantiate (RedSphere, transform.position += new Vector3(0 , SphereHeight, 0), transform.rotation);
     ||                     } else if (Random.Range (0, GreenEncount) == 0) {
     ||                             Instantiate (GreenSphere, transform.position, transform.rotation);
     ||                             //Vector3 Pog = this.gameObject.transform.position;
     ||                             //Instantiate (RedSphere, transform.position += new Vector3(0 , SphereHeight, 0), transform.rotation);
     ||                     } else if (Random.Range (0, YellowEncount) == 0) {
     ||                             Instantiate (YellowSphere, transform.position, transform.rotation);
     ||                             //Vector3 Pog = this.gameObject.transform.position;
     ||                             //Instantiate (RedSphere, transform.position += new Vector3(0 , SphereHeight, 0), transform.rotation);
     ||                     }
     ||             }
     ||     }
     ||}*/

    //巨大化したプレイヤに接触したらダメージ
    void OnCollisionEnter(Collision collider)
    {
        //PlayerApのisBig(巨大化)状態をisbigとする
        bool isbig = GameObject.FindWithTag("Player").GetComponent <PlayerAp> ().isBig;

        //プレイヤのタグがついていてisbig状態(巨大化中)なら
        if (collider.gameObject.tag == "Player" && isbig == true)
        {
            //Debug.Log ("一撃");
            //armorPointからプレイヤのbigAttack値を差し引く
            bigAttack   = GameObject.FindWithTag("Player").GetComponent <PlayerAp> ().BigAttack;
            armorPoint -= bigAttack;
            //それ以外(巨大化してない)ならDamageSet状態にする
        }
        else if (collider.gameObject.tag == "Player")
        {
            DamageSet = true;
            animator.SetTrigger("damaged");
        }
        //ライフバーからダメージ分ゲージを減らす
        LifeBar.GetComponent <LifeBar>().UpdateArmorPointValue();

        //
        if (collider.gameObject.tag == "Player")
        {
            //体力が0以下になったら消滅する
            if (armorPoint <= 0)
            {
                //Debug.Log ("敵"+gameObject.name);
                // Animatorを"dead"へ移行
                // 移行後元に戻さないならBool判定にした方がよい
                animator.SetBool("dead", true);
                // 死亡アニメーション中に敵が移動しないようにスピードをゼロにする
                EnemySpeed = 0;
                // 敵消滅用エフェクト発生
                // 敵消滅中にプレイヤに接触ダメージがを与えないようにDeadCoroutineで接触判定を無くす
                DeadObject = Instantiate(Hit01Prefab, EffectPoint.position, Quaternion.identity);
                StartCoroutine("DeadCoroutine");
                Instantiate(DestroyEffect, transform.position, transform.rotation);
                // バトルマネージャーにスコア(EnemyScoreで設定)を加算する
                battleManager = GameObject.Find("BattleManager").GetComponent <BattleManager> ();
                // プレイヤのレベルアップ判定(PlayerLevel参照)
                // レベルに関係している数値はDataManagedrで管理している
                DataManager.Score += EnemyScore;
                playerLevel.LevelUp();
                // 敵消滅
                Destroy(gameObject, DestroyTime);
                //Instantiate(exprosion, transform.position, transform.rotation);
                // ボス、ラスボス消滅後は必ずクリア用スターを出現させる
                // インスペクタ画面でIsBoss、IsLastBossに✔を付ける
                if (isBoss == true)
                {
                    Instantiate(Star, transform.position, transform.rotation);
                }
                if (isLastBoss == true)
                {
                    Instantiate(BigStar, transform.position, transform.rotation);
                    // ボス、ラスボス以外が消滅後は一定確率(0,RedEncountでRedEncount分の1)でアイテム出現
                }
                else if (Random.Range(0, RedEncount) == 0)
                {
                    Instantiate(RedSphere, transform.position, transform.rotation);
                }
                else if (Random.Range(0, BlueEncount) == 0)
                {
                    Instantiate(BlueSphere, transform.position, transform.rotation);
                }
                else if (Random.Range(0, GreenEncount) == 0)
                {
                    Instantiate(GreenSphere, transform.position, transform.rotation);
                }
                else if (Random.Range(0, YellowEncount) == 0)
                {
                    Instantiate(YellowSphere, transform.position, transform.rotation);
                }
            }
        }
    }