maxValue в c# регистр имеет значение
И переменную вы назвали именем класса. Так вот скрипт пытается в первую очередь найти статический метод в классе, а не в объекте.
Попробуйте так, но я не уверен, что будет работать.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class UIManager : MonoBehaviour
{
public GameObject playButton;
public GameObject pauseButton;
public GameObject nextButton;
public GameObject previousButton;
public GameObject soundmanager;
public void Satrt()
{
pauseButton.SetActive(false);
playButton.SetActive(true);
nextButton.SetActive(true);
previousButton.SetActive(true);
}
public void Play()
{
playButton.SetActive(false);
pauseButton.SetActive(true);
soundmanager.SendMessage("Play");
}
public void Pause()
{
playButton.SetActive(true);
pauseButton.SetActive(false);
soundmanager.SendMessage("Pause");
}
public void Next()
{
soundmanager.SendMessage("Next");
}
public void Previous()
{
soundmanager.SendMessage("Previous");
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class SoundManager : MonoBehaviour
{
public AudioClip[] audioclips;
AudioSource audiosource;
public Text songname;
public Slider progressBar;
public int currentTrack = 0;
bool IsPlaying = false;
public void Start()
{
audiosource = GetComponent();
audiosource.clip = audioclips[currentTrack];
}
public void Update()
{
songname.text = audioclips[currentTrack].name;
progressBar.maxValue = audioclips[currentTrack].length;
progressBar.value = audiosource.time;
}
void Play()
{
audiosource.Play();
IsPlaying = true;
}
void Pause()
{
audiosource.Pause();
IsPlaying = false;
}
void Stop()
{
audiosource.Stop();
}
void Next()
{
Stop();
if (currentTrack == audioclips.Length - 1)
{
currentTrack = 0;
}
else
{
currentTrack++;
audiosource.clip = audioclips[currentTrack];
if (IsPlaying)
{
Play();
}
}
}
void Previous()
{
Stop();
if (currentTrack == 0)
{
currentTrack = audioclips.Length - 1;
}
else
{
currentTrack--;
audiosource.clip = audioclips[currentTrack];
if (IsPlaying)
{
Play();
}
}
}
}
вот оба скрипта :
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class UIManager : MonoBehaviour
{
public GameObject PlayBatton;
public GameObject PauseBatton;
public GameObject NextBatton;
public GameObject PreviousBatton;
public GameObject Soundmanager;
public void Satrt()
{
PauseBatton.SetActive(false);
PlayBatton.SetActive(true);
NextBatton.SetActive(true);
PreviousBatton.SetActive(true);
}
public void Play()
{
PlayBatton.SetActive(false);
PauseBatton.SetActive(true);
SoundManager.SendMessage("Play");
}
public void Pause()
{
PlayBatton.SetActive(true);
PauseBatton.SetActive(false);
SoundManager.SendMessage("Pause");
}
public void Next()
{
SoundManager.SendMessage("Next");
}
public void Previous()
{
SoundManager.SendMessage("Previous");
}
}
и второй :
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class SoundManager : MonoBehaviour
{
public AudioClip[] audioclips;
AudioSource audiosource;
public Text Songname;
public Slider ProgressBar;
public int currentTrack = 0;
bool IsPlaying = false;
public void Start() {
audiosource = GetComponent<AudioSource>();
audiosource.clip = audioclips[currentTrack];
}
public void Update()
{
Songname.text = audioclips[currentTrack].name;
ProgressBar.maxvalue = audioclips[currentTrack].length;
ProgressBar.value = audiosource.time;
}
void Play() {
audiosource.Play();
IsPlaying= true;
}
void Pause()
{
audiosource.Pause();
IsPlaying= false;
}
void Stop()
{
audiosource.Stop();
}
void Next()
{
Stop();
if (currentTrack == audioclips.Length - 1)
{
currentTrack = 0;
}
else
{
currentTrack++;
audiosource.clip = audioclips[currentTrack];
if (IsPlaying) {
Play();
}
}
}
void Previous()
{
Stop();
if (currentTrack == 0)
{
currentTrack = audioclips.Length - 1;
}
else
{
currentTrack--;
audiosource.clip = audioclips[currentTrack];
if (IsPlaying)
{
Play();
}
}
}
}
сами ошибки :
Assets\skripts\SoundManager.cs(25,21): error CS1061: 'Slider' does not contain a definition for 'maxvalue' and no accessible extension method 'maxvalue' accepting a first argument of type 'Slider' could be found (are you missing a using directive or an assembly reference?)
и 5 ошибок одинаковых просто в разных строках скрипта для примера пришлю только одну ее хватит :
Assets\skripts\UIManager.cs(36,9): error CS0120: An object reference is required for the non-static field, method, or property 'Component.SendMessage(string)'
плиз хелп!