マスパ(マスタースパーク)は、伸びるのが止まったら、広がります。
M_Spark.cs
IEnumerator CoreWide()
{
while (isTime < 2)
{
transform.localScale += new Vector3(0.00375f, 0, 0);
yield return null;
}
}
private void OnTriggerEnter2D(Collider2D collision)
{
if(collision.gameObject.tag == "E_B_DEATH")
{
O_Freame = true;
StartCoroutine(CoreWide());
}
}
マスパの子要素に、Xの大きさが1.1のカプセルのスプライトを追加。
マスタースパークを出してる間はSEを鳴らしています。
SEが鳴りやんだら1秒掛けて徐々に色を薄くし、Destroyします。
内側を黄緑色、外側を白色にしているので、内側は、RBGはそのまま、Aに、FeadOutTime(1からTime.deltaTimeを引いた数値)を代入。
外側は、Aを最初から128くらいにしているので、FeadOutTime÷2を代入。
M_Spark.cs
public float FeadOutTime = 1;
void FeadOut()
{
if(!GetAudio.isPlaying)
{
FeadOutTime -= Time.deltaTime;
GetComponent<SpriteRenderer>().color = new Color(GetComponent<SpriteRenderer>().color.r, GetComponent<SpriteRenderer>().color.g, GetComponent<SpriteRenderer>().color.b, FeadOutTime);
Out_MS.GetComponent<SpriteRenderer>().color = new Color(1, 1, 1, FeadOutTime/2);
}
if(FeadOutTime <= 0)
{
Enemy.GetComponent<Enemy>().MS_END = true;
Destroy(gameObject);
}
}
// Update is called once per frame
void Update()
{
FeadOut();
isisTime += Time.deltaTime;
if (O_Freame)
isTime += Time.deltaTime;
}
2発目は、自機狙いに打ちます。
まず自機の方向に向きを合わせます。
M_Spark.cs
void Start()
{
/*BackGround = GameObject.Find("BackGround");
//BackGround.GetComponent<Shake>().is_Shake();
Out_MS = transform.Find("Out_MS").gameObject;
Enemy = GameObject.Find("Enemy(Clone)");
GetAudio.volume = 0.25f;
GetAudio.PlayOneShot(MS_SE);*/
Player = GameObject.Find("Player(Clone)");
if(!Enemy.GetComponent<Enemy>().First_Spark)//1発目じゃなければ
{
Pos = Player.transform.position - transform.position;
transform.rotation = Quaternion.FromToRotation(Vector3.up, Pos);
}
向いてる方向に伸ばします。
M_Spark.cs
IEnumerator Long()
{
if (Enemy.GetComponent<Enemy>().First_Spark)//1発目なら真下に伸びる
{
while (!O_Freame)
{
transform.localScale += new Vector3(0, 0.0075f, 0);
transform.position += new Vector3(0, -0.0075f, 0);
yield return null;
}
}
else//2発目以降は、向いてる方向に伸びる
{
while (!O_Freame)
{
transform.localScale += new Vector3(0, 0.0075f, 0);
transform.position += transform.up * 0.0075f;
yield return null;
}
}
}