Среда, 06 Ноября 2024, 06:23

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
простой скрипт
sanek57rusДата: Четверг, 25 Сентября 2014, 22:33 | Сообщение # 1
частый гость
Сейчас нет на сайте
Здравствуйте разработчики, помогите пожалуйста кто чем может, первый раз пишу "серьёзный" скрипт, ошибок море. Нужно, чтобы если объект (гг) сталкивается с триггером, появлялась GUI кнопка, при нажатии на которую объект с именем "object' уничтожался. Вот до чего дошёл:

using UnityEngine;
using System.Collections;

public class papers : MonoBehaviour {

bool GUIobject = false;

void OnTriggerEnter(Collider myTrigger)
{
if (myTrigger.gameObject.name == "trigger")
{
GUIobject = true;
}
}

void OnGUI{
if(GUIobject = true)
{
if(GUI.Button(new Rect(10, 10, 150, 100), "enter"))
{Destroy(GameObject.Find(“object”))}
}
}
}
WhoAmIДата: Четверг, 25 Сентября 2014, 23:05 | Сообщение # 2
Сумасшедший программист
Сейчас нет на сайте
Какие ошибки конкретно...

Насколько я понял, у тебя не исчезает кнопа.
onTriggerExit(Collider myTrigger) выполняется при выходе из тригера.
Код

void OnTriggerExit(Collider myTrigger){
if (myTrigger.gameObject.name == "trigger")             
{             
GUIobject = false;             
}
}


Добавлено (25.09.2014, 23:05)
---------------------------------------------
Этот OnTriggerExit в твоём случае можно заменить переделанным вариантом метода OnGUI:
Код

             if(GUIObject ==  true){
             if(GameObject.Find("object") != null){
            if(GUI.Button(блаблабла),"enter"){
              Destroy(GameObject.Find("object")); /*Данную своего рода "тавтологию" можно исправить путём объявления переменной типа GameObject выше, но  тогда будет передаваться только экземпляр класса(может это и не так).*/
}
}
}


Struggle #Gamiron12

Сообщение отредактировал WhoAmI - Четверг, 25 Сентября 2014, 23:11
tracer07Дата: Пятница, 26 Сентября 2014, 00:17 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
void OnGUI{
if(GUIobject == true) // Здесь нужно писать так
{
if(GUI.Button(new Rect(10, 10, 150, 100), "enter"))
{Destroy(GameObject.Find(“object”));} //Точка с запятой
}
}
}


Сообщение отредактировал tracer07 - Пятница, 26 Сентября 2014, 00:18
sanek57rusДата: Пятница, 26 Сентября 2014, 10:10 | Сообщение # 4
частый гость
Сейчас нет на сайте
Цитата tracer07 ()
void OnGUI{
if(GUIobject == true) // Здесь нужно писать так
{
if(GUI.Button(new Rect(10, 10, 150, 100), "enter"))
{Destroy(GameObject.Find(“object”));} //Точка с запятой
}
}
}

Огромное спасибо, скрипт заработал

Добавлено (26.09.2014, 10:10)
---------------------------------------------

Цитата sanek57rus ()
Насколько я понял, у тебя не исчезает кнопа.
onTriggerExit(Collider myTrigger) выполняется при выходе из тригера.

Всё в порядке, кнопка исчезает сама после выхода или нажатия


Сообщение отредактировал sanek57rus - Пятница, 26 Сентября 2014, 10:08
  • Страница 1 из 1
  • 1
Поиск:

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