Переход на следующий лвл

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Переход на следующий лвл

Сообщение SiLeNT_HiLL 03 окт 2012, 11:50

Привет.
Можете помочь. Мне нужен скрипт например я подхожу к какому нибудь месту и появляются 2 gui кнопки да и нет если нажать да то загружается другой лвл если Нет то просто исчезают кнопки
SiLeNT_HiLL
UNIт
 
Сообщения: 65
Зарегистрирован: 08 сен 2012, 11:28

Re: Переход на следующий лвл

Сообщение gate1 03 окт 2012, 12:19

Ставишь на то место триггер, при входе в него активируешь свое gui, если да то Application.LoadLevel.
Смысла тебе писать код нету, тк видимо ты не читал справку или не смотрел уроки, там это все есть
Аватара пользователя
gate1
UNITрон
 
Сообщения: 198
Зарегистрирован: 27 дек 2011, 22:19
Откуда: Минск

Re: Переход на следующий лвл

Сообщение SiLeNT_HiLL 03 окт 2012, 12:27

gate1 писал(а):Ставишь на то место триггер, при входе в него активируешь свое gui, если да то Application.LoadLevel.
Смысла тебе писать код нету, тк видимо ты не читал справку или не смотрел уроки, там это все есть

я сам скрипт не могу написать не знаю как
SiLeNT_HiLL
UNIт
 
Сообщения: 65
Зарегистрирован: 08 сен 2012, 11:28

Re: Переход на следующий лвл

Сообщение KorsaiR 03 окт 2012, 14:12

разжевал как мог..переваривай)

Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class loadlvl : MonoBehaviour {
        public bool quest;//bool переменная, которую можно включить и отключить

        // Use this for initialization
        void Start () {
        quest = false;//изначально переменная отключенна
        }
       
        // Update is called once per frame
        void Update () {
       
        }
       
        void OnTriggerEnter(Collider obj){//если в коллайдер вошел обьект..
                if(obj.CompareTag("Player")){//с тегом Player(этот тег ты должен присвоить игроку..)
                        quest = true;//включить переменную
                       
                       
                }
                else{//иначе
                        quest = false;//переменная отключенна
                }
               
               
        }
       
                void OnTriggerExit(Collider obj){//при выходе из коллайдера
                if(obj.CompareTag("Player")){//обьекта с тегом Player
                        quest = false;//переменная отключается
                       
                       
                }
               
               
               
        }
        void OnGUI(){//теперь самм текст и кнопки
                if(quest){//если переменная включена
        GUI.Label(new Rect(Screen.width/2,Screen.height/2,200,100),"LoadNewLevel?");//создаем текст
                        if(GUI.Button(new Rect(Screen.width/2,Screen.height/2+30,50,30),"yes")){//и кнопку.Если на неё тыкаем,то..
                                Application.LoadLevel(1);//загрузить Level(1)(там ты поставишь свою цифру,какой тебе нужен уровень)
                               
                        }
                        if(GUI.Button(new Rect(Screen.width/2+50,Screen.height/2+30,50,30),"no")){//если нажать No -
                        quest = false;//переменная отключается => табличка пропадает.
                        }
                }
               
        }
}
 
Мои игры: Sunrise, Fireground, Spacerift
Sunrise: _www.sunsurv.ru , _https://store.steampowered.com/app/6631 ... _survival/
Fireground: _https://store.steampowered.com/app/1026 ... ND/?beta=0
Spacerift: _https://vk.com/spacerift
Аватара пользователя
KorsaiR
Старожил
 
Сообщения: 797
Зарегистрирован: 09 июл 2012, 12:20
Откуда: Новосибирск
Skype: pwiliya

Re: Переход на следующий лвл

Сообщение SiLeNT_HiLL 03 окт 2012, 15:53

KorsaiR писал(а):разжевал как мог..переваривай)

Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class loadlvl : MonoBehaviour {
        public bool quest;//bool переменная, которую можно включить и отключить

        // Use this for initialization
        void Start () {
        quest = false;//изначально переменная отключенна
        }
       
        // Update is called once per frame
        void Update () {
       
        }
       
        void OnTriggerEnter(Collider obj){//если в коллайдер вошел обьект..
                if(obj.CompareTag("Player")){//с тегом Player(этот тег ты должен присвоить игроку..)
                        quest = true;//включить переменную
                       
                       
                }
                else{//иначе
                        quest = false;//переменная отключенна
                }
               
               
        }
       
                void OnTriggerExit(Collider obj){//при выходе из коллайдера
                if(obj.CompareTag("Player")){//обьекта с тегом Player
                        quest = false;//переменная отключается
                       
                       
                }
               
               
               
        }
        void OnGUI(){//теперь самм текст и кнопки
                if(quest){//если переменная включена
        GUI.Label(new Rect(Screen.width/2,Screen.height/2,200,100),"LoadNewLevel?");//создаем текст
                        if(GUI.Button(new Rect(Screen.width/2,Screen.height/2+30,50,30),"yes")){//и кнопку.Если на неё тыкаем,то..
                                Application.LoadLevel(1);//загрузить Level(1)(там ты поставишь свою цифру,какой тебе нужен уровень)
                               
                        }
                        if(GUI.Button(new Rect(Screen.width/2+50,Screen.height/2+30,50,30),"no")){//если нажать No -
                        quest = false;//переменная отключается => табличка пропадает.
                        }
                }
               
        }
}
 

спасибо
SiLeNT_HiLL
UNIт
 
Сообщения: 65
Зарегистрирован: 08 сен 2012, 11:28

Re: Переход на следующий лвл

Сообщение SiLeNT_HiLL 03 окт 2012, 16:22

KorsaiR писал(а):разжевал как мог..переваривай)

Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class loadlvl : MonoBehaviour {
        public bool quest;//bool переменная, которую можно включить и отключить

        // Use this for initialization
        void Start () {
        quest = false;//изначально переменная отключенна
        }
       
        // Update is called once per frame
        void Update () {
       
        }
       
        void OnTriggerEnter(Collider obj){//если в коллайдер вошел обьект..
                if(obj.CompareTag("Player")){//с тегом Player(этот тег ты должен присвоить игроку..)
                        quest = true;//включить переменную
                       
                       
                }
                else{//иначе
                        quest = false;//переменная отключенна
                }
               
               
        }
       
                void OnTriggerExit(Collider obj){//при выходе из коллайдера
                if(obj.CompareTag("Player")){//обьекта с тегом Player
                        quest = false;//переменная отключается
                       
                       
                }
               
               
               
        }
        void OnGUI(){//теперь самм текст и кнопки
                if(quest){//если переменная включена
        GUI.Label(new Rect(Screen.width/2,Screen.height/2,200,100),"LoadNewLevel?");//создаем текст
                        if(GUI.Button(new Rect(Screen.width/2,Screen.height/2+30,50,30),"yes")){//и кнопку.Если на неё тыкаем,то..
                                Application.LoadLevel(1);//загрузить Level(1)(там ты поставишь свою цифру,какой тебе нужен уровень)
                               
                        }
                        if(GUI.Button(new Rect(Screen.width/2+50,Screen.height/2+30,50,30),"no")){//если нажать No -
                        quest = false;//переменная отключается => табличка пропадает.
                        }
                }
               
        }
}
 

Can't add script behaviour ScriptName. The scripts file name does not match the name of the class defined in the script!
SiLeNT_HiLL
UNIт
 
Сообщения: 65
Зарегистрирован: 08 сен 2012, 11:28

Re: Переход на следующий лвл

Сообщение KorsaiR 03 окт 2012, 17:44

название скрипта должно совпадать с классом.то есть loadlvl.к тому же на объекте ,на который кидаешь его - должен быть коллайдер - триггер.ставишь галочку там IsTrigger и всё должно работать,сам этоим же скриптом пользуюсь.
Мои игры: Sunrise, Fireground, Spacerift
Sunrise: _www.sunsurv.ru , _https://store.steampowered.com/app/6631 ... _survival/
Fireground: _https://store.steampowered.com/app/1026 ... ND/?beta=0
Spacerift: _https://vk.com/spacerift
Аватара пользователя
KorsaiR
Старожил
 
Сообщения: 797
Зарегистрирован: 09 июл 2012, 12:20
Откуда: Новосибирск
Skype: pwiliya

Re: Переход на следующий лвл

Сообщение AndreyMust19 03 окт 2012, 17:57

Не сочтите за придирки, но лучше заменить:

Синтаксис:
Используется csharp
public bool quest;//bool переменная, которую можно включить и отключить
// Use this for initialization
void Start() {
        quest = false;//изначально переменная отключенна
}
 

на
Синтаксис:
Используется csharp
public bool quest = false; // хотя bool и так по умолчанию false


Синтаксис:
Используется csharp
void OnTriggerEnter(Collider obj){//если в коллайдер вошел обьект..
        if(obj.CompareTag("Player")){//с тегом Player(этот тег ты должен присвоить игроку..)
                quest = true;//включить переменную
        }
        else{ //иначе
                quest = false;//переменная отключенна
        }
}

на
Синтаксис:
Используется csharp
void OnTriggerEnter(Collider obj) {
        quest = obj.CompareTag("Player");
}


Пустую void Update() убрать совсем.
Нужна помощь? Сами, сами, сами, сами, сами... делаем все сами
AndreyMust19
Адепт
 
Сообщения: 1119
Зарегистрирован: 07 июн 2011, 13:19

Re: Переход на следующий лвл

Сообщение KorsaiR 03 окт 2012, 18:06

согласен, просто писал первое что в голову приходило, вот и не проверил "логику"))
Мои игры: Sunrise, Fireground, Spacerift
Sunrise: _www.sunsurv.ru , _https://store.steampowered.com/app/6631 ... _survival/
Fireground: _https://store.steampowered.com/app/1026 ... ND/?beta=0
Spacerift: _https://vk.com/spacerift
Аватара пользователя
KorsaiR
Старожил
 
Сообщения: 797
Зарегистрирован: 09 июл 2012, 12:20
Откуда: Новосибирск
Skype: pwiliya

Re: Переход на следующий лвл

Сообщение SiLeNT_HiLL 03 окт 2012, 19:12

KorsaiR писал(а):название скрипта должно совпадать с классом.то есть loadlvl.к тому же на объекте ,на который кидаешь его - должен быть коллайдер - триггер.ставишь галочку там IsTrigger и всё должно работать,сам этоим же скриптом пользуюсь.

Спасибо
SiLeNT_HiLL
UNIт
 
Сообщения: 65
Зарегистрирован: 08 сен 2012, 11:28

Re: Переход на следующий лвл

Сообщение SiLeNT_HiLL 03 окт 2012, 19:13

Я новичок в юнити и многого не понимаю
SiLeNT_HiLL
UNIт
 
Сообщения: 65
Зарегистрирован: 08 сен 2012, 11:28

Re: Переход на следующий лвл

Сообщение KorsaiR 03 окт 2012, 19:23

я тоже не особо много умею.Вот щас работаем с братом над своим проектом)я программирую с июня, результаты есть))
Мои игры: Sunrise, Fireground, Spacerift
Sunrise: _www.sunsurv.ru , _https://store.steampowered.com/app/6631 ... _survival/
Fireground: _https://store.steampowered.com/app/1026 ... ND/?beta=0
Spacerift: _https://vk.com/spacerift
Аватара пользователя
KorsaiR
Старожил
 
Сообщения: 797
Зарегистрирован: 09 июл 2012, 12:20
Откуда: Новосибирск
Skype: pwiliya


Вернуться в Почемучка

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

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