Показать сообщение отдельно
Старый 07.06.2012, 13:31   #339
cahekp
Разработчик
 
Аватар для cahekp
 
Регистрация: 14.12.2008
Адрес: Томск
Сообщений: 530
Написано 270 полезных сообщений
(для 883 пользователей)
Ответ: Вопросы от новичка

Сообщение от is.SarCasm Посмотреть сообщение
Как передать информацию из одного уровня в другой?? Например я из Menu захожу на Level_1 и мне нужно передать настройки игры.
Есть несколько способов.

1) Можно в меню создать отдельный объект с настройками и добавить на него компонент с простыми строчками:
void Awake() {
     
DontDestroyOnLoad(gameObject);

После этого этот объект не будет удаляться при переходе от одного уровня в другой. В уровне Level_1, допустим, можно написать что-то вроде:
void Start() {
    
GameObject go GameObject.Find("OPTIONS");
    
MyOptions mo go.GetComponent<MyOptions>();
    
// и так далее...

2) Самый простой, на мой взгляд. Просто создай статичный класс. Его даже на сцену не нужно вытаскивать.
public class Options MonoBehaviour {
    public static 
int screenWidth;
    public static 
int screenHeight;
    public static 
float soundVolume;

И всё! Теперь из любого скрипта можешь обращаться к нему напрямую: Options.soundVolume = 1.0F;
И что-нибудь читать из него: int sw = Options.screenWidth;
При переходе из одного уровня в другой содержимое статичного класса не обнуляется.
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
is.SarCasm (11.06.2012)