Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
 Аватар для Misuta
2 / 2 / 0
Регистрация: 27.10.2021
Сообщений: 129

Не меняется значение переменной

24.01.2023, 12:51. Показов 595. Ответов 2

Студворк — интернет-сервис помощи студентам
Есть класс:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class MainGame : MonoBehaviour
{
    internal int gameMod = -1;
 
    private void OnGUI() 
    {
        Debug.Log("D02 gameMod OnGUI = " + gameMod);
        float centrScreenX = Screen.width / 2;
        float centrScreenY = Screen.height / 2;
 
        switch (gameMod)
        {
            case 0:
            {
                Rect LocationButton = new Rect(new Vector2(centrScreenX - 150, centrScreenY - 50), new Vector2(300, 200));
                GUI.Box(LocationButton, ""); 
            }
            break;
        }
    }
Меняю переменную gameMod вызовом метода из другого класса, вот этот метод:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
private void InitializeDefaultScreen()
    {
        MainGame gameModStart = new MainGame();
        gameModStart.gameMod = 0;
        
        Debug.Log("D02 D03 gameMod = " + gameModStart.gameMod);
 
        ImageTracker tracker = _uiScreens[(int)InteractionManagerState.SeeBattle].GetComponent<ImageTracker>();
 
        if (!tracker)
        {
            throw new MissingComponentException(tracker.GetType().Name + " component not found!");
        }
 
        ShowPlanes(false);
        tracker.Initialize();
    }
Но в классе MainGame значение переменной не меняется. Логи:
C#
1
2
3
4
5
6
7
2023.01.24 16:42:40.315 16412 18550 Info Unity D02 gameMod OnGUI = -1
2023.01.24 16:42:40.316 16412 18550 Info Unity D02 gameMod OnGUI = -1
2023.01.24 16:42:40.316 16412 18550 Info Unity D02 gameMod OnGUI = -1
2023.01.24 16:42:40.349 16412 18550 Info Unity D02 D03 gameMod = 0
2023.01.24 16:42:40.402 16412 18550 Info Unity D02 gameMod OnGUI = -1
2023.01.24 16:42:40.402 16412 18550 Info Unity D02 gameMod OnGUI = -1
2023.01.24 16:42:40.414 16412 18550 Info Unity D02 gameMod OnGUI = -1
Почему так?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.01.2023, 12:51
Ответы с готовыми решениями:

Почему не меняется значение переменной?
Здравствуйте ,не могли бы вы помочь с кодом на c# в юнити . вот один класс: public class Monet2 : MonoBehaviour { public...

Кнопка с переменной которая меняется при зажатии левой кнопки мыши
Хай. Задача создать группу кнопок. При нажатии на левой кнопки миши ЛКМ происходит изменение значения показанного на кнопке, а точнее...

В переменной меняется значение
Какая-то темная сила при выполнении программы перезаписывает значение в переменной, хотя сама переменная содержит постоянное значение и в...

2
1144 / 309 / 159
Регистрация: 30.07.2022
Сообщений: 1,784
Записей в блоге: 4
24.01.2023, 14:11
Лучший ответ Сообщение было отмечено Misuta как решение

Решение

Цитата Сообщение от Misuta Посмотреть сообщение
MainGame gameModStart = new MainGame();
меня смущает слово new в этой строке.
разве оно не означает создание нового экземпляра класса?
0
 Аватар для Misuta
2 / 2 / 0
Регистрация: 27.10.2021
Сообщений: 129
24.01.2023, 14:31  [ТС]
devillived, Понял. А как правильно к ней обратиться? Сделать ее статической?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.01.2023, 14:31
Помогаю со студенческими работами здесь

Значение переменной не меняется
Я делаю свой текст бокс, дошел до каретки. В OnKeyDown в зависимости от нажатой стрелки меняю перемененные cPos и cLine. Но когда в функции...

Не меняется значение переменной
class A { private: int price; string name; static int all_money; public: A(int price=0, string name=&quot;&quot;); void...

Не меняется значение переменной
Значение переменной var меняется, а вот значение first нет. Почему? var = int(input()); first = 0; first = var // 10000; print...

Не меняется значение переменной в for
Всем привет. Подскажите пожалуйста, почему, когда я ввожу значения: 5 2 5, у меня не меняется значения переменной A, которая в for? int...

Не меняется значение переменной
case key of '0'..'9':; #8:; #13: /baskspace begin p:=p+1; label3.Caption:='попытка:'+inttostr(p); end; В лейбле при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru