@uriy99

Как сделать так чтобы при нажатии на кнопку звук в меню паузы менялась иконка кнопки и сохранялось значение?

Помогите пожалуйста реализовать кнопку звук так чтобы при нажатии на неё менялся текст «Вкл» если нажата и «выкл» если отжата. Вот условие: кнопка «Звук» не должна работать, однако она должна сохранять свое значение в PlayerPrefs (возможно, хорошим выбором в этом случае будет использование Int, где 0 – это false, а 1 – это true).
В зависимости от своего состояния кнопка «Звук» должна изменять либо надпись, либо само изображение.
Не могу сладить с canvas.
Вот мой недоделанный код:
public static int sound;
 public GameObject PauseMenuUI;
 void Start ()
    {
        
        SetText ();
    } 

	void SetText ()
    {
        
        sound = PlayerPrefs.GetInt ("Выкл", 0);
		
    } 
	void OnGUI ()
    {
        
         GUI.Label (new Rect (50, 130, 200, 30), "Вкл:" + sound);
		 GUI.Label (new Rect (40, 100, 150, 20), "Выкл:" + sound);
    }

Кто разбирается в канвасе, прошу помочь с кодом для кнопки звука, функцию в канвасе выставлю сам.
  • Вопрос задан
  • 39 просмотров
Пригласить эксперта
Ответы на вопрос 1
DanceM
@DanceM Куратор тега Unity Game Engine
Кто хочет -ищет способ, кто не хочет -ищет причину
Канвас это теж же "обычные" объекты с компонентами. Так что будет что-то вида:
myCanvasButtonTextField.text = "Sound ON";
//или
myCanvasButtonImage.sprite = buttonSpriteOff;

Единственное (по сути) что отличает канвасы (ну кроме набора назначенных компонентов) это то, что в объектах используется не Transform, а RectTransform, с якорями, привязками и прочими инструментами для выравнивания позиции "в 2д".
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы