ボタンおしたら音がなる方法
1.ボタンを追加
2.AudioSourceを追加
3.スクリプトかく
4.OnClickをいじる
注意点
書いた日:2020年7月4日
unityのバージョン:2019.3.14
完成イメージ
左上のラッパのボタンを押すとクラクションがなります。
(ARのアプリを作っているので背景が緑ですが気にしないでください。)
やり方
(1)ボタンを追加します
【UI > Button】
私の場合はボタンをいくつか配置しているのでCunvasの小要素にボタンを作ります。
テキストがいらないのでデリートします。
ボタンのかたちを整えます
写真右側のインスペクターのスケールで変更します
位置をととのえます
左上の前後左右の矢印っぽいところをおすとシーンビューから簡単に移動することができます。
写真をセットします。
Assets直下にimagesファイルを作成し、好きな画像を保存します。
Materialをつくります。
Assets直下にMaterialファイルをつくります。
MaterialファイルにMaterialを新規に作成します。
Materialに写真を追加していきます
インスペクターのShaderをLegacy Shaders > Diffuseにする。
写真を追加します。右側のselectをおします。
任意の写真を選択します。
写真を選択したら、Shaderを再度変更します。
UI > Defaultに変更してください
ボタンに移動してください。
右側インスペクターImageを変更します。
Source Imageをnoneに
Materialに先ほど作成したMaterialを設定してください。
設定した画像はこちらです。
先ほどまで四角の白いボタンがhornのボタンに変わりました。
Audio Sourceを追加します
ButtonにAudioSourceを追加します。
Assets直下にSoundsファイルを作り音声を追加します。
AudioClipに音声を追加します。
私の場合はクラクションです。
Play On Awake を無効にします。(写真は有効になっています)
有効な状態だと再生ボタンを押した瞬間になります。
ループしたい人はLoopを有効にしてください。
スクリプトを書きます
Assets直下にScriptsファイル
その中になんでもいいのでスクリプトをつくってください。
私の場合はHornSoundsです。
以下のスクリプトをコピペして書き換えてください。
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);
}
}
ButtonのOn Clickをいじる
On ClickにButtonオブジェクトを追加します。
HornSounds > OnClickにしてください。
完成です!