Суббота, 23 Ноября 2024, 08:36

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Подскажите, пожалуйста,как сделать несколько spawn на 1сцене
xxxlioДата: Понедельник, 27 Июня 2016, 13:25 | Сообщение # 1
частый гость
Сейчас нет на сайте
К примеру, есть сцена 0. На неу расположено 2 дома. При входе в первый, попадаешь на сцену 1, а при входе во второй на сцену 2. Тут все просто. А вот при выходе из сцены 1 или 2 попадаешь на сцену 0. И нужно оказываться возле подъезда того дома куда вошел.
Допустим переходим на 0-вую сцену с цены 1. spawn должен стоять возле первого дома. А при выходе со сцены 2 на сцену 0 - наоборот, возле 2 дома.
Подскажите, как это реализовать? При переходе с цены на сцену пользуюсь таким скриптом:

Код
using UnityEngine;
using System.Collections;

public class NextLevel : MonoBehaviour {

public int nextlevel = 0;

void OnTriggerEnter(Collider col)
{
if(col.tag == "Player") Application.LoadLevel(nextlevel);
}
}


Может тут куда то можно вписать имя First Person1 Controller или First Person Controller2?
Очень на вас рассчитываю.
xMoonGuarDxДата: Понедельник, 27 Июня 2016, 14:01 | Сообщение # 2
участник
Сейчас нет на сайте
Можно сделать некоторый неуничтожимый объект между сценами, в котором хранить точку, откуда попал из предыдущей сцены. Object.DontDestroyOnLoad(object) - ссылка на документацию.
п.с. Application.LoadLevel - устаревший метод, сейчас юнька для этого использует SceneManager.LoadScene()
xxxlioДата: Понедельник, 27 Июня 2016, 14:06 | Сообщение # 3
частый гость
Сейчас нет на сайте
Цитата xMoonGuarDx ()
Можно сделать некоторый неуничтожимый объект между сценами, в котором хранить точку, откуда попал из предыдущей сцены.

А можно поподробнее. К чему данный скрипт прикрепить?
xMoonGuarDxДата: Понедельник, 27 Июня 2016, 14:17 | Сообщение # 4
участник
Сейчас нет на сайте
xxxlio, к пустому объекту, который создать например в сцене 0. А в самом скрипте сохранять трансформ (позицию), откуда произошел переход на следующую локацию. И когда обратно будете загружать новую локацию, объект игрока создавайте в той позиции, в которой сохранили.
TLTДата: Понедельник, 27 Июня 2016, 14:45 | Сообщение # 5
Сейчас нет на сайте
Можно просто создавать персонаж по координатам относительно двери. Т.е. криэйт x y относительно дверь.

Можно сделать переменную для каждой локации, типа Start1, Start2, Start3. Когда заходишь в локацию 1, то в ней прописывается Start2=0, Start3=0 Start1=1; в локацию 2, то в ней прописывается Start1=0, Start3=0, Start2=1; в локацию 3, то в ней прописывается Start1=0, Start2=0, Start3=1.

И до этого пишешь условие:

(например, мы побывали во второй или третьей локации)

Загружается локация 1:
если Start2=1 то создать объект персонаж на xy двери во вторую локацию.
если Start3=1 то создать объект персонаж на xy двери в третью локацию.
Обнуляем:
Start2=0
Start3=0
Start1=1

_____

Либо можно записывать для каждой локации перед выходом из неё x y в ini-файл. А при старте этой локации использовать координаты из ini-файла для создания персонажа. Это нужно будет, если важно сохранить точные координаты, либо выход динамический.


Дао, выраженное словами, не есть истинное Дао.
xxxlioДата: Понедельник, 27 Июня 2016, 18:15 | Сообщение # 6
частый гость
Сейчас нет на сайте
Цитата TLT ()
Можно сделать переменную для каждой локации, типа Start1, Start2, Start3. Когда заходишь в локацию 1, то в ней прописывается Start2=0, Start3=0 Start1=1; в локацию 2, то в ней прописывается Start1=0, Start3=0, Start2=1; в локацию 3, то в ней прописывается Start1=0, Start2=0, Start3=1.

И до этого пишешь условие:

(например, мы побывали во второй или третьей локации)

Загружается локация 1:
если Start2=1 то создать объект персонаж на xy двери во вторую локацию.
если Start3=1 то создать объект персонаж на xy двери в третью локацию.
Обнуляем:
Start2=0
Start3=0
Start1=1

Не могли бы вы код полностью написать? Плохо пока в javascript разбираюсь
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг