void OnCollisionEnter2D(Collision2D bullet1) { Debug.Log("Damage"); //ここまでは実行されている if (bullet1.gameObject.tag == "Bullt1") //←GuardはDestroyされているためGuardHpを取得できていない? 呼び出されていない boolを使うか { NormalEnemyHP--; } if (NormalEnemyHP <= 0) { random = Random.Range(0f, 101.0f); //0から100までで乱数を取得 if (random <= ItemDropPercent) { //出た乱数が10以下だったらitemdrop関数を呼び出す itemdrop(); } else { explosion.CallExplosion(); //敵を倒した場所に爆発エフェクトを呼び出す Destroy(this.gameObject); AudioSource.PlayClipAtPoint(audioClip, transform.position); } } if (bullet1.gameObject.tag == "ship") //船に当たった時は一発で消える { Destroy(this.gameObject); explosion.CallExplosion(); } DestroyEnemyCount++; //PERFECTを取ったら2が足され、GOODを取ったら1が足される ゲージの増減に使う }
void OnCollisionEnter2D(Collision2D bullet1) { if (bullet1.gameObject.tag == "Bullt1") { EnemyHp--; //弾丸に当たるとEnemyHpが1減る。0になると消滅 GameController.score += 50; //HPenemyはボーナス点あり、PERFECT時は250点、GOOD時は150点 GameController.scoreEasy += 50; GameController.scoreMedium += 50; GameController.scoreHidden += 50; } if (EnemyHp <= 0) //EnemyHpが0になったときの処理 { random = Random.Range(0f, 101.0f); //0から100までで乱数を取得 if (random <= ItemDropPercent) { //出た乱数が10以下だったらitemdrop関数を呼び出す itemdrop(); } else //10以上だったら普通に消滅 { Destroy(this.gameObject); AudioSource.PlayClipAtPoint(audioClip, transform.position); explosion.CallExplosion(); } } DestroyEnemyCount++; //PERFECTを取ったら2が足され、GOODを取ったら1が足される if (bullet1.gameObject.tag == "ship") //船に当たった時は一発で消える { Destroy(this.gameObject); explosion.CallExplosion(); } }