Настройки экрана, как сохранить и прочитать?

Общие вопросы о Unity3D

Настройки экрана, как сохранить и прочитать?

Сообщение Baisangur 10 июн 2009, 00:46

Как я могу узнать, сохранить, а патом прочитать настройки экрана(ширина, высота, глубина цвета)? Я не пойму как такое реализовать если, все файлы в юнити при компиляции архивируются в какой то родной, для юнити, формат. Да и каким образом прочитать такой файл, с настройками, если, как я понял, скрипт начинает выполнятся только при условии что он повешан на GameObject, но GO создается уже в 3Д сцене. :-?
Аватара пользователя
Baisangur
UNец
 
Сообщения: 39
Зарегистрирован: 05 июн 2009, 17:18
Откуда: Казахстан

Re: Настройки экрана, как сохранить и прочитать?

Сообщение Baisangur 10 июн 2009, 01:57

Кажется разобрался сам :D

Написал такой вот скрипт(вдруг кому понадобится):
Код: Выделить всё
using UnityEngine;
using System;
using System.Collections;
using System.IO;

/// <summary>
/// Чтение файла настроек и смена разрешения.
/// </summary>
public class ResolutionChanger : MonoBehaviour
{
    //Имя файла с настройками.
    public string fileName = "";

    //Ширина экрана
    private int screenWidth;

    //Высота экрана
    private int screenHeight;

    //Полный экран?
    private bool screenFull=false;


    /// <summary>
    /// Выполняется один раз при инициализации объекта.
    /// </summary>
    void Start()
    {
        //Создаем поток чтения из файла в отдельной области видимости.
        using (StreamReader fileStream = File.OpenText(Path.GetFullPath(fileName)))
        {

            //Читаем данные
            string fileLine = "";
            while ((fileLine = fileStream.ReadLine()) != null)
            {
                string option = fileLine.Substring(0, fileLine.IndexOf("="));
                switch (option)
                {
                    case "screen_width":
                        screenWidth = Convert.ToInt32(fileLine.Substring(fileLine.IndexOf("=") + 1));
                        break;

                    case "screen_height":
                        screenHeight = Convert.ToInt32(fileLine.Substring(fileLine.IndexOf("=") + 1));
                        break;

                    case "screen_full":
                        string fullscreen = fileLine.Substring(fileLine.IndexOf("=") + 1);
                        if (fullscreen == "true")
                            screenFull = true;
                        break;
                }

            }

            //Освобождаем поток.
            fileStream.Close();
        }

        //Устанавливаем разрешение
        Screen.SetResolution(screenWidth, screenHeight, screenFull);
    }
}


Теперь вопрос в другом! Что для каждой сцены делать новый GO с этим скриптом? Нельзя ли как-то некоторые скрипты запустить при старте приложения без вешания на GameObject - ы ?
Аватара пользователя
Baisangur
UNец
 
Сообщения: 39
Зарегистрирован: 05 июн 2009, 17:18
Откуда: Казахстан

Re: Настройки экрана, как сохранить и прочитать?

Сообщение Neodrop 10 июн 2009, 10:37

Запустить нельзя, а вот сохранить из сцены в сцену можно. Что ещё раз говорит о том, что вы упрямо игнорируете советы пройти 3D Platfotmer Tutorial :-?
DontDestroyOnLoad
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Настройки экрана, как сохранить и прочитать?

Сообщение Baisangur 10 июн 2009, 15:31

Эх :)
Деваться некуда, прийдется его пройти.
Аватара пользователя
Baisangur
UNец
 
Сообщения: 39
Зарегистрирован: 05 июн 2009, 17:18
Откуда: Казахстан


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot], infocratia, Yandex [Bot] и гости: 18