私はC#のでユニティ5.3で働いているコードエディタとしてユニティ5.3 - トグルサウンドオン/オフ
これらは私が持っているものです:
私は私のプロジェクトで2つのシーンを持っています:home
およびoptions
。私は両方のシーンでbg
オブジェクトを持っています。両方のbg
オブジェクトはAudio Source
コンポーネントを持っています。これは同じ背景音楽を含んでいますplay on awake
です。私はこれらの背景音楽のためのコードを使用しない、私はUnityのAdd Component
ボタンをクリックし、Audio Source
を加えなさい。
は、これは私が欲しいものです:
Options
シーンは全てのシーンのためにオン/オフBGMを切り替えることができます。したがって、Options
シーンにはbtnOn
とbtnOff
が存在します。
私はこのエラーを持っている:An object reference is required to access non-static member UnityEngine.AudioSource.volume
を
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class AudioManager : MonoBehaviour {
public Button btnOn;
public Button btnOff;
// Use this for initialization
void Start() {
btnOn = GetComponent<Button>();
btnOff = GetComponent<Button>();
btnOn.onClick.AddListener(() => PlayAudio());
btnOff.onClick.AddListener(() => StopAudio());
}
void PlayAudio()
{
AudioSource.volume = 0.5f;
}
void StopAudio()
{
AudioSource.volume = 0f;
}
}
これが問題である:
これは、オーディオManager.csで私のコードです。たぶん、これは私のコードにpublic AudioSource audioSource
を書き込まないためです。しかし、私がこれを書いた場合、別のオーディオをGet Component
ボックスに追加しなければならず、1つのシーンに2倍のAudio Source
が表示されます。私は何をすべきか? AudioManager
が[DontDestroyOnLoad]
としてマークされていない、あなたのおかげであなたは、両方のシーンでとしてbg
オブジェクトを持っていたよう
それはこのエラーがあります: 'とNullReferenceException:オブジェクト参照object' –
のインスタンスに設定されていない、あなたのシーンの階層構造のスクリーンショットを投稿できますか? – Whatever
こちらをご覧ください(https://www.dropbox.com/s/bainn1z8wd1ft1w/Capture.JPG?dl=0) –