private void OnCollisionEnter(Collision collision) { if (collision.gameObject.tag == "Sword") { bat_script = parent.gameObject.GetComponent <Bat_Script>(); bat_script.flg = true; } }
/// <summary> /// -40度から、0度の間に敵が生成される /// </summary> public void DropEnemy1() { int enemy = Random.Range(1, 4); //生成される敵の種類 Set_px(); //敵とプレイヤの最大距離を設定 //EnemyCountに+1 EnemyCount++; //生成される位置が-40度から0度の間の普通の敵 if (enemy == 1) { GameObject go = Instantiate(Enemy1) as GameObject; int pz = Random.Range(-40, 1); //角度を設定する //度数法から弧度法に変換している float radian = pz * Mathf.PI / 180; float x2 = Mathf.Cos(radian) * px; //最初のX座標 float y2 = Mathf.Sin(radian) * px; //最初のY座標(Z座標) float a2 = Mathf.Cos(radian) * Enemy1_distance; //最後のX座標 float b2 = Mathf.Sin(radian) * Enemy1_distance; //最後のY座標(Z座標) //敵のスクリプトのInitialize関数に引数を渡す Bat_Script bat = go.GetComponent <Bat_Script>(); bat.Initialize(x2, y2, a2, b2, pz); } //生成される位置が-40度から0度の間の普通の敵 else if (enemy == 2) { GameObject go = Instantiate(Enemy2) as GameObject; int pz = Random.Range(-40, 1); //角度を設定する //度数法から弧度法に変換している float radian = pz * Mathf.PI / 180; float x2 = Mathf.Cos(radian) * px; //最初のX座標 float y2 = Mathf.Sin(radian) * px; //最初のY座標(Z座標) float a2 = Mathf.Cos(radian) * Enemy2_distance; //最後のX座標 float b2 = Mathf.Sin(radian) * Enemy2_distance; //最後のY座標(Z座標) //敵のスクリプトのInitialize関数に引数を渡す Golem_Script golem = go.GetComponent <Golem_Script>(); golem.Initialize(x2, y2, a2, b2, pz); } //生成される位置が-40度から0度の間の弱点付きの敵 else if (enemy == 3) { GameObject go = Instantiate(Enemy3) as GameObject; int pz = Random.Range(-40, 1); //角度を設定する //度数法から弧度法に変換している float radian = pz * Mathf.PI / 180; float x2 = Mathf.Cos(radian) * px; //最初のX座標 float y2 = Mathf.Sin(radian) * px; //最初のY座標(Z座標) float a2 = Mathf.Cos(radian) * Enemy3_distance; //最後のX座標 float b2 = Mathf.Sin(radian) * Enemy3_distance; //最後のY座標(Z座標) //敵のスクリプトのInitialize関数に引数を渡す Skeleton skeleton = go.GetComponent <Skeleton>(); skeleton.Initialize(x2, y2, a2, b2, pz); } }