# サウンドを追加

ボールが何かと衝突、またはボールが失ったらサウンドを再生するようにしましょう。

### ボールとパドル

新しい「BallHitSound」のスクリプトを作成し、以下の処理しましょう：

- サウンドファイルを Inspector で設定する
- 衝突の時 ( OnCollisionEnter2D )、ボールのタグを確認する
- ボールだったら、設定したサウンドを [`AudioSource.PlayClipAtPoint()`](https://docs.unity3d.com/ja/2023.2/ScriptReference/AudioSource.PlayClipAtPoint.html) で再生する。

```c#
// ボールが衝突したら、サウンドを再生
public class BallHitSound : MonoBehaviour
{
    // 再生したいサウンド
    [SerializeField]
    private AudioClip clip;

    void OnCollisionEnter2D(Collision2D other) 
    {
        // タグは「Ball」?
        // ならば、サウンドを再生
        if (other.gameObject.CompareTag("Ball"))
            AudioSource.PlayClipAtPoint(clip, transform.position);
    }
}
```

このスクリプトを「パドル」の方にアタッチし、clip は 以下のようにし、実行してください

![image.png](https://class.illogic.games/uploads/images/gallery/2026-05/scaled-1680-/6x9image.png)

### ボールと壁

同じスクリプトはそのまま再利用できるので、各壁（Wall Left, Wall Right, Wall Top）にアタッチし、同じ clip にしてください

### ボールとブロック

ブロックはシーンにはないので、プレハブを編集しましょう。プレハブフォルダーの中にある Brick プレハブをダブルクリックすると、プレハブの編集ができる！

このプレハブにすでに作った BallHitSound スクリプトをアタッチし、今度は「BallReboundBrick」のサウンドを再生しましょう。

![image.png](https://class.illogic.games/uploads/images/gallery/2026-05/scaled-1680-/K4Timage.png)

### ボールが失うとき

ボール廃止スクリプトがすでに存在するので、編集しましょう。BallDestroy スクリプトを編集し、上記と同様に、サウンドの設定は Inspector でできるようにし、そして、ボールを廃止したら、そのサウンドを再生：

```c#
// ボールを削除し、お知らせする
public class BallDestroy : MonoBehaviour
{
    // BallShooterに知らせる！
    [SerializeField] 
    private BallShooter ballShooter; 
    
    // GameManagerにも知らせる！
    [SerializeField] 
    private GameManager gameManager;
    
    // 失ったとき再生するサウンド
    [SerializeField] 
    private AudioClip clip;
    
    // トリガーの中に何か入ったら：
    private void OnTriggerEnter2D(Collider2D other)
    {
        // ゲームオブジェクトを廃止（削除）する
        Destroy(other.gameObject);

        // サウンド再生
        AudioSource.PlayClipAtPoint(clip, transform.position);
        
        // メソッドを呼び出し、知らせる
        ballShooter.BallDestroyed();
        gameManager.BallDestroyed();
    }
}
```

Unityで BottomTrigger の BallDestroy スクリプトを編集し「BallLost」のサウンドを設定し、ゲームを実行しましょう。

![image.png](https://class.illogic.games/uploads/images/gallery/2026-05/scaled-1680-/KJdimage.png)

### BGM

最後、BGMを再生しましょう。今回はBGM曲は1個のみで、設定はとても単純である。新しいゲームオブジェクト「BGM」を作成し、「AudioSource」コンポーネントを追加してください。Audio Generator は「BGM」にしたら完成。「Play On Awake」のチェックが入っていれば、自動的に再生し始まるので、スクリプトは不要。

![image.png](https://class.illogic.games/uploads/images/gallery/2026-05/scaled-1680-/hMLimage.png)

２つ以降の曲、またはエフェクト（クロスフェード）などが必要な場合は、専用のスクリプト（BGMManager）を作成してくださいね～