Создание, Удаление.

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

Создание, Удаление.

Сообщение nurgan27 30 окт 2012, 18:51

здраствуйте. ка можно реализовать такое?:
Изображение
Когда перс подходит в синию зону появляется зеленая зона и исчезает красная зона и так бесконечно, подскажите ка можно сделать такое.
Аватара пользователя
nurgan27
UNITрон
 
Сообщения: 282
Зарегистрирован: 18 апр 2012, 17:27

Re: Создание, Удаление.

Сообщение trololoid 30 окт 2012, 18:58

триггеры
Аватара пользователя
trololoid
Старожил
 
Сообщения: 712
Зарегистрирован: 15 сен 2011, 19:18
Откуда: Туапсе, Краснодарский край, Россия

Re: Создание, Удаление.

Сообщение nurgan27 30 окт 2012, 19:01

ну я не понимаю как же сделать это в скрипте
помогитее
Аватара пользователя
nurgan27
UNITрон
 
Сообщения: 282
Зарегистрирован: 18 апр 2012, 17:27

Re: Создание, Удаление.

Сообщение Receptor 30 окт 2012, 19:28

А что именно у вас не получается?

Вешаем на синюю зону
Синтаксис:
Используется csharp

using UnityEngine;
using System;

public class BlueZone : MonoBehaviour {

public GameObject character;  // в инспектре выбираем сюда персонажа
public GameObject greenZone; // в инспектре выбираем сюда зеленую зону
public GameObject redZone; // в инспектре выбираем сюда красную зону

void OnTriggerEnter(character.collider) {  // Метод "сканирующий" попал ли какой-либо коллайдер (в данном случае это коллайдер персонажа) в зону триггера на которой весит этот скрипт

      greenZone.active = true; //включаем зеленую
      redZone.active = false; // выключаем красную

}

}
 
Последний раз редактировалось Receptor 30 окт 2012, 19:32, всего редактировалось 1 раз.
_VK.com
Аватара пользователя
Receptor
Адепт
 
Сообщения: 1706
Зарегистрирован: 22 ноя 2011, 07:09
Откуда: Волгодонск

Re: Создание, Удаление.

Сообщение nurgan27 30 окт 2012, 19:31

Receptor писал(а):А что именно у вас не получается?

Синтаксис:
Используется csharp

using UnityEngine;
using System;

public class BlueZone : MonoBehaviour {

public GameObject player;
public GameObject greenZone;
public GameObject BlueZone;

void OnTriggerEnter(player.collider) {

      greenZone.active = true;
      redZone.active = false;

}

}
 

ну надо чтобы это всегда повторялось
создается и удаляется такой же объект должен
Аватара пользователя
nurgan27
UNITрон
 
Сообщения: 282
Зарегистрирован: 18 апр 2012, 17:27

Re: Создание, Удаление.

Сообщение Receptor 30 окт 2012, 19:34

Что значит - всегда повторялось? Ваша задача не ясна :)

Если вы именно хотите создавать объект на лету, два спопосба:
- Instantiate() - инстанирует префаб
- через оператор new и конструктор создавать нового представителя и навешивать компоненты вручную (new GameObject();)

Удалять: Destroy()
_VK.com
Аватара пользователя
Receptor
Адепт
 
Сообщения: 1706
Зарегистрирован: 22 ноя 2011, 07:09
Откуда: Волгодонск

Re: Создание, Удаление.

Сообщение nurgan27 31 окт 2012, 07:24

надо чтобы они могли существовать только в определенном расстояние от перса, но только чтобы они инстантироались правильно ну чтобы состыковка была ровной.
Аватара пользователя
nurgan27
UNITрон
 
Сообщения: 282
Зарегистрирован: 18 апр 2012, 17:27

Re: Создание, Удаление.

Сообщение Volandpro 31 окт 2012, 09:02

есть синяя зона(какой то прямоугольник) рядом с ним еще 2 зоны(положение каждой задаешь сам) на синей зоне висит триггер, при онтриггерентер срабатывает появление зеленой зоны и уничтожение красной, при выходе из триггера соответственно наоборот
Аватара пользователя
Volandpro
UNITрон
 
Сообщения: 242
Зарегистрирован: 19 авг 2012, 17:07

Re: Создание, Удаление.

Сообщение AndreyMust19 31 окт 2012, 09:17

У вас всегда будет 3 зоны, ничего удалять не надо. При попадании в зеленую:
* Красную зону перемещаем вперед и считаем зеленой, включаем ее
* Зеленую зону, в к-ю попали - синей
* А синюю зону считаем красной и отключаем
Нужна помощь? Сами, сами, сами, сами, сами... делаем все сами
AndreyMust19
Адепт
 
Сообщения: 1119
Зарегистрирован: 07 июн 2011, 13:19

Re: Создание, Удаление.

Сообщение nurgan27 31 окт 2012, 09:25

я уже по своему сделал осталось только одна вещь))
как сделать типа если один объект дестрой то другой объект тоже должен дестроится
Аватара пользователя
nurgan27
UNITрон
 
Сообщения: 282
Зарегистрирован: 18 апр 2012, 17:27

Re: Создание, Удаление.

Сообщение AndreyMust19 31 окт 2012, 09:34

Синтаксис:
Используется csharp
GameObject obj2;

void OnDestroy() {
        GameObject.Destroy(obj2);
}
Последний раз редактировалось AndreyMust19 31 окт 2012, 10:17, всего редактировалось 1 раз.
Нужна помощь? Сами, сами, сами, сами, сами... делаем все сами
AndreyMust19
Адепт
 
Сообщения: 1119
Зарегистрирован: 07 июн 2011, 13:19

Re: Создание, Удаление.

Сообщение nurgan27 31 окт 2012, 09:54

а можно на js
Аватара пользователя
nurgan27
UNITрон
 
Сообщения: 282
Зарегистрирован: 18 апр 2012, 17:27

Re: Создание, Удаление.

Сообщение nurgan27 31 окт 2012, 10:10

аа всее не надо вот я сделал работает хорошо))
Синтаксис:
Используется javascript
var myTunnel : Transform;

var destoerTS : Transform;

var tunnelPrefab : Transform;

var range = 120.0;



function OnTriggerEnter (myTrigger : Collider){

if(myTrigger.gameObject.tag == "Player"){

var direction = transform.TransformDirection(Vector3.back);

var hit : RaycastHit;

Instantiate(tunnelPrefab, Vector3(myTunnel.position.x, myTunnel.position.y, myTunnel.position.z + 40.5), myTunnel.rotation);

Debug.DrawRay(transform.position, direction * 120, Color.green);

if(Physics.Raycast(transform.position, direction, hit, range)){

if(hit.collider.gameObject.tag == "destroerTS"){

var spTS = hit.collider.gameObject;

Destroy(spTS.gameObject);

        }

}

Destroy(gameObject);

        }

}

Спасибо
Аватара пользователя
nurgan27
UNITрон
 
Сообщения: 282
Зарегистрирован: 18 апр 2012, 17:27


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

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

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