Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.06.2018, 12:21   #1
broiler747
Пользователь
 
Регистрация: 30.11.2017
Сообщений: 22
По умолчанию Не работает инициализация

Почему может не работать инициализация?
broiler747 вне форума Ответить с цитированием
Старый 02.06.2018, 22:14   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Или что-то случилось или одно из двух
pu4koff вне форума Ответить с цитированием
Старый 04.06.2018, 22:01   #3
broiler747
Пользователь
 
Регистрация: 30.11.2017
Сообщений: 22
По умолчанию

А есть ли какие-нибудь частые случаи почему может не работать инициализация, если код написан правильно(как мне кажется)
К примеру, я пишу:
public Text moneytext;
public int money;
void start(){
money = PlayerPrefs.GetInt("Money");
}
void update(){
moneytext.text = money.ToString();}
Код по-простому
broiler747 вне форума Ответить с цитированием
Старый 04.06.2018, 22:26   #4
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

тут есть только один вариант: код написан неправильно.
pu4koff вне форума Ответить с цитированием
Старый 04.06.2018, 22:53   #5
broiler747
Пользователь
 
Регистрация: 30.11.2017
Сообщений: 22
По умолчанию

Я уже честно говоря все варианты перепробовал, но в чем именно у меня ошибка
broiler747 вне форума Ответить с цитированием
Старый 05.06.2018, 17:05   #6
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Ну, можно код сюда выложить или дальше гадать что не так
pu4koff вне форума Ответить с цитированием
Старый 05.06.2018, 21:45   #7
broiler747
Пользователь
 
Регистрация: 30.11.2017
Сообщений: 22
По умолчанию

Тут просто понапихано разного хлама, но меня конкретно интересует, что
если я в переменной topText заменяю PlayerPrefs.GetInt("top") на закэшированную переменную top, то top не обновляется. Возможно проблема, что я использую top не в первый раз.
Код:
using UnityEngine.UI;
using UnityEngine;
using System.Collections;

public class TimeScale : MonoBehaviour
{
    public static float timery;
    public float slowTime = 0.5f, TimeUp = 0.0003f;
    public string topText, scoreText;
    public int timer = 1, topTimer=0;
    public Text count,fpss, topCount;
    public bool StartTimeScale = false;
    int top;
    WaitForSeconds waitTimer;
    void Awake()
    {
        waitTimer = new WaitForSeconds(3f);
        Time.timeScale = 1;
        timery = 1;
        topCount.text = "Top: " + PlayerPrefs.GetInt("top").ToString();
        top = PlayerPrefs.GetInt("top");
    }
    void Update()
    {
        float fps = 1.0f / Time.unscaledDeltaTime;
       
        fpss.text="FPS = " + Mathf.Round(fps);
        if (top < timer)
        {
            PlayerPrefs.SetInt("top", timer);
            topText = "TOP: " + top.ToString();
            topCount.text = topText;
        }
        if (!Player.lose)
        {
            timer++;
            scoreText = "SCORE:" + timer;
            count.text = scoreText;
            timery += TimeUp;
            Time.timeScale += TimeUp; 
        }
        else
        {
            Time.timeScale = 0;
        }
        if (StartTimeScale == true)
            StartCoroutine(timere());
        else StopCoroutine(timere());
        }
    IEnumerator timere()
    {
        Time.timeScale = slowTime;
        yield return waitTimer;
        if (timery > Time.timeScale)
            Time.timeScale = timery;
            StartTimeScale = false;
    }
}
broiler747 вне форума Ответить с цитированием
Старый 05.06.2018, 22:57   #8
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

int - это значимый тип, поэтому, чтобы он обновлялся, нужно каждый раз заново запрашивать значение. Сама по себе переменная top новое значение ниоткуда не возьмёт. Был бы там не int, а объект какого-нибудь класса, то была бы другая история.
pu4koff вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
инициализация vibraxo Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 11.06.2013 03:39
Инициализация DirectX _-Re@l-_ Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 07.02.2011 16:38
Инициализация Aleksey1989 Общие вопросы Delphi 10 11.09.2010 21:50
Ошибка инициализация Krumyura Общие вопросы C/C++ 2 22.03.2010 14:08
Инициализация Krumyura Общие вопросы C/C++ 5 20.03.2010 23:37