東方Projectっぽいシューティング3マスタースパーク広がるのと2発目

マスパ（マスタースパーク）は、伸びるのが止まったら、広がります。
```C#: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のカプセルのスプライトを追加。
![スクリーンショット (35) (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3489977/71bd8ef5-519d-db16-82c6-cf4240b372a6.png)


マスタースパークを出してる間はSEを鳴らしています。
SEが鳴りやんだら１秒掛けて徐々に色を薄くし、Destroyします。
内側を黄緑色、外側を白色にしているので、内側は、RBGはそのまま、Aに、FeadOutTime（１からTime.deltaTimeを引いた数値）を代入。
外側は、Aを最初から128くらいにしているので、FeadOutTime÷２を代入。
```C#: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;
    }
```
![スクリーンショット (36).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3489977/f16f0955-0ee2-7c45-4fc4-3e7ae54e44d5.png)

２発目は、自機狙いに打ちます。
まず自機の方向に向きを合わせます。
```csharp: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);
        }
```
向いてる方向に伸ばします。
```csharp: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;
            }
        }
    }
```
![スクリーンショット (53).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3489977/dc84a7a0-65c0-d7e2-ea6f-e227cbb2ebe5.png)
![スクリーンショット (57).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3489977/b2a5c073-300e-dafc-82e9-e6a2f8b114a8.png)