LoginSignup
1
0

More than 3 years have passed since last update.

【Unity】1分21秒でできるボタンクリックで音を鳴らすにはAudioSourceでやるべし!

Posted at

ボタンおしたら音がなる方法

1.ボタンを追加
2.AudioSourceを追加
3.スクリプトかく
4.OnClickをいじる

注意点

書いた日:2020年7月4日
unityのバージョン:2019.3.14

完成イメージ

左上のラッパのボタンを押すとクラクションがなります。
(ARのアプリを作っているので背景が緑ですが気にしないでください。)
スクリーンショット 2020-07-04 18.07.38.png

やり方

(1)ボタンを追加します
【UI > Button】
私の場合はボタンをいくつか配置しているのでCunvasの小要素にボタンを作ります。
スクリーンショット 2020-07-04 18.12.01.png
テキストがいらないのでデリートします。
スクリーンショット 2020-07-04 18.22.27.png
ボタンのかたちを整えます
写真右側のインスペクターのスケールで変更します
スクリーンショット 2020-07-04 18.25.16.png
位置をととのえます
左上の前後左右の矢印っぽいところをおすとシーンビューから簡単に移動することができます。
スクリーンショット 2020-07-04 18.26.34.png
写真をセットします。
Assets直下にimagesファイルを作成し、好きな画像を保存します。
スクリーンショット 2020-07-04 18.27.45.png
Materialをつくります。
Assets直下にMaterialファイルをつくります。
MaterialファイルにMaterialを新規に作成します。
スクリーンショット 2020-07-04 18.29.15.png
Materialに写真を追加していきます
インスペクターのShaderをLegacy Shaders > Diffuseにする。
スクリーンショット 2020-07-04 18.33.13.png
写真を追加します。右側のselectをおします。
スクリーンショット 2020-07-04 18.36.51.png
任意の写真を選択します。
スクリーンショット 2020-07-04 18.37.38.png
写真を選択したら、Shaderを再度変更します。
UI > Defaultに変更してください
スクリーンショット 2020-07-04 18.39.36.png
ボタンに移動してください。
スクリーンショット 2020-07-04 18.40.50.png
右側インスペクターImageを変更します。
Source Imageをnoneに
Materialに先ほど作成したMaterialを設定してください。
設定した画像はこちらです。
先ほどまで四角の白いボタンがhornのボタンに変わりました。
スクリーンショット 2020-07-04 18.42.29.png

Audio Sourceを追加します

ButtonにAudioSourceを追加します。
スクリーンショット 2020-07-04 18.43.51.png
Assets直下にSoundsファイルを作り音声を追加します。
スクリーンショット 2020-07-04 18.50.52.png
AudioClipに音声を追加します。
私の場合はクラクションです。
スクリーンショット 2020-07-04 18.52.00.png
Play On Awake を無効にします。(写真は有効になっています)
有効な状態だと再生ボタンを押した瞬間になります。
ループしたい人はLoopを有効にしてください。

スクリプトを書きます

Assets直下にScriptsファイル
その中になんでもいいのでスクリプトをつくってください。
私の場合はHornSoundsです。
スクリーンショット 2020-07-04 18.54.34.png
以下のスクリプトをコピペして書き換えてください。

HornSounds.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class HornSounds : MonoBehaviour
{
    //hornsoundは任意の名前でOKです、それ以外は変えないでください。
    private AudioSource hornsound;

    void Start()
    {
        hornsound = GetComponent<AudioSource>();
    }
    //ボタンをクリックした時のスクリプトです。
    public void OnClick()
    {
        hornsound.PlayOneShot(hornsound.clip);
    }

}

こんなかんじです
スクリーンショット 2020-07-04 19.04.35.png

Buttonにアタッチします。
スクリーンショット 2020-07-04 19.06.22.png

ButtonのOn Clickをいじる

On ClickにButtonオブジェクトを追加します。
スクリーンショット 2020-07-04 19.08.41.png
HornSounds > OnClickにしてください。
スクリーンショット 2020-07-04 19.14.26.png
完成です!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0