Unity прекращает работу

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

Unity прекращает работу

Сообщение nikitenko 18 сен 2011, 09:16

Всем привет.
У меня возникла проблема именно когда я создаю объект в скрипте ниже у меня юнити прекращает работу сто делать?( Пробывал переустоновливать юнити не помогло(
Синтаксис:
Используется csharp
        public RaycastHit hit;
        public GameObject player;
        public GameObject plane;
        public bool plane1;

       
        // Use this for initialization
        void Start () {
           
        }
       
        // Update is called once per frame
        void Update () {
               
                Ray mouseRay = camera.ScreenPointToRay(Input.mousePosition);// переменная, которая будет содержать результат щелчка мышью по сцене
        if (Physics.Raycast(mouseRay, out hit))
            {
                // если попали в геометрию, то создадим в этом месте взрыв
             if(plane1 == true){
                                plane.transform.position = new Vector3(hit.point.x,0,hit.point.z);
                     if (Input.GetMouseButtonDown(0))
                     {             
                plane1 = false;
                player = Instantiate(player, new Vector3(plane.transform.position.x,plane.transform.position.y,plane.transform.position.z), Quaternion.identity) as GameObject;
                Debug.Log(hit.point);
                        }    
                      }
                }
       
        }
        void OnGUI(){    
                 if(GUI.Button(new Rect(10,10,100,30), "Tower")){
                                plane = Instantiate(plane, new Vector3(hit.point.x,hit.point.y + 1,hit.point.z), Quaternion.identity) as GameObject;
                                plane1 = true;
                         }
               
      }
 
nikitenko
UNIт
 
Сообщения: 50
Зарегистрирован: 17 авг 2011, 23:21

Re: Unity прекращает работу

Сообщение ARTgames 18 сен 2011, 10:21

Стандартно у public bool plane1; стоит False.Вот пример ,что ты пытаешься сделать if(false == true){ - и на этом месте зависает,тобиш ты пытаешься приравнять False с True.
P.S Я с такой-же проблемой сталкивался.
А вы знаете что я знаю?
Аватара пользователя
ARTgames
UNIт
 
Сообщения: 89
Зарегистрирован: 17 сен 2010, 17:39
Откуда: Тимашевск
Skype: ARTgames3

Re: Unity прекращает работу

Сообщение nikitenko 18 сен 2011, 10:35

тогда какое условие нужно поставить?
nikitenko
UNIт
 
Сообщения: 50
Зарегистрирован: 17 авг 2011, 23:21

Re: Unity прекращает работу

Сообщение Zaicheg 18 сен 2011, 10:46

Вы чего? false == true просто вернёт false, условие не сработает, никаких зависаний не будет. Я на всякий случай даже проверил. Не говоря уже о том, что такая операция сравнения (где false с одной стороны, а true с другой) — основная работа оператора if. Я уже три минуты отойти не могу от шока.
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: Unity прекращает работу

Сообщение nikitenko 18 сен 2011, 10:58

тогда изза чего вылетает юнити?(
nikitenko
UNIт
 
Сообщения: 50
Зарегистрирован: 17 авг 2011, 23:21

Re: Unity прекращает работу

Сообщение gnoblin 18 сен 2011, 11:58

ARTgames писал(а):Стандартно у public bool plane1; стоит False.Вот пример ,что ты пытаешься сделать if(false == true){ - и на этом месте зависает,тобиш ты пытаешься приравнять False с True.
P.S Я с такой-же проблемой сталкивался.


=))

нулреф скорее какой-нибудь
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Unity прекращает работу

Сообщение seaman 18 сен 2011, 16:23

player = Instantiate(player,...
Это что? Инстансируем сами в себя?
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Unity прекращает работу

Сообщение Zaicheg 18 сен 2011, 16:32

Инстансирование самого себя тоже на ошибку не тянет.
Делается по MouseDown, соответственно вариант с бесконечным инстансированием (когда инстансирование срабатывает у каждого нового инстанса) наверное не катит, т.к. инстанс появляется в следующем кадре, когда MouseDown уже false. Но можно проверить, конечно — может я напутал и на самом деле в этом же кадре инстанс появляется и срабатывает update у него.

Автору конечно надо логи посмотреть (которые текстовые документы на диске), null reference поискать, циклы бесконечные (наверное не весь код выложен).
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: Unity прекращает работу

Сообщение nikitenko 18 сен 2011, 17:48

Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;
 
public class Global : MonoBehaviour {
        public RaycastHit hit;
        public GameObject player;
        public GameObject plane;
        public int plane1 = 1;
        public int money;
        public int cen1;

        public GameObject tower;
       
       
        public GameObject mob;
        public bool mob1;
       
        public Color OriginMatColor;
    public Color HighlightColor = new Color(0, 255, 0);
    public bool isClosed = true;
       
        public int i = 0;
       
    // на основе полученного луча проверяем его пересечение с объектами в сцене,
            // содержащими компонент Collider (кубики содержат по умолчанию Box Collider)
        void Start () {
           money = 1000;
                cen1 = 100;
               
        }
       
        // Update is called once per frame
        void Update () {
                if(mob1 == true){
                mob.transform.position += new Vector3 (10f,0,0) * Time.deltaTime;
                }
               
                Ray mouseRay = camera.ScreenPointToRay(Input.mousePosition);// переменная, которая будет содержать результат щелчка мышью по сцене
        if (Physics.Raycast(mouseRay, out hit))
            {
                // если попали в геометрию, то создадим в этом месте взрыв
             if(plane1 == 2){
                                plane.transform.position = new Vector3(hit.point.x,0,hit.point.z);
                     if (Input.GetMouseButtonDown(0))
                {
                                if(money >= 100){
                            money-=100;
                                plane1 = 1;
                player = Instantiate(player, new Vector3(plane.transform.position.x,plane.transform.position.y,plane.transform.position.z), Quaternion.identity) as GameObject;
                               
                                        }else{
                                        Debug.Log("No");
                                }
                                        Debug.Log(hit.point);
                }    
                      }
                }

               
               
        }
       
        private void mobCreate(){
               
       
               
        }
        void OnGUI(){    
               
                if(GUI.Button(new Rect(10,50,100,30), "Mob")){
                       
                        mob = Instantiate(mob, new Vector3(-64f,0.5f,-6f), Quaternion.identity) as GameObject;
                   
                }
                if(GUI.Button(new Rect(10,10,100,30), "Tower")){
                                plane = Instantiate(plane, new Vector3(hit.point.x,hit.point.y + 1,hit.point.z), Quaternion.identity) as GameObject;
                            plane1 = 2;
                    }
                GUI.Box(new Rect(Screen.width - 160, 10, 150, 25), "money: "+money);           
     }
}
 

вот весь скрипт прекращает работу именно когда создаю объект player
nikitenko
UNIт
 
Сообщения: 50
Зарегистрирован: 17 авг 2011, 23:21

Re: Unity прекращает работу

Сообщение artk 18 сен 2011, 18:09

Я бы вообще повесился, выполняя этот код.
Попробуйте, все же, не клонировать самого себя.
И пишите проще, сколько можно уже.
Аватара пользователя
artk
Старожил
 
Сообщения: 749
Зарегистрирован: 22 май 2011, 12:22

Re: Unity прекращает работу

Сообщение nikitenko 18 сен 2011, 18:44

не помогает
nikitenko
UNIт
 
Сообщения: 50
Зарегистрирован: 17 авг 2011, 23:21

Re: Unity прекращает работу

Сообщение ARTgames 18 сен 2011, 18:48

gnoblin писал(а):
ARTgames писал(а):Стандартно у public bool plane1; стоит False.Вот пример ,что ты пытаешься сделать if(false == true){ - и на этом месте зависает,тобиш ты пытаешься приравнять False с True.
P.S Я с такой-же проблемой сталкивался.


=))

нулреф скорее какой-нибудь


Рад что рассмешил).А вот player = Instantiate(player,... я не заметил((, и сразу подумал на if (false == true);.Не хотелось себя глупо показать).
Да и player = Instantiate (player... я бы посоветовал убрать,и посомотреть ,что получиться.Как говорил seaman "Это что? Инстансируем сами в себя?".

P.S Прошу сильно меня не пинать ,ведь я только недавно начал программировать на (c#) )).
А вы знаете что я знаю?
Аватара пользователя
ARTgames
UNIт
 
Сообщения: 89
Зарегистрирован: 17 сен 2010, 17:39
Откуда: Тимашевск
Skype: ARTgames3

Re: Unity прекращает работу

Сообщение ARTgames 18 сен 2011, 18:54

Я тут посомтрел и понял что у него не только player Интстансируем ,а ещё и mob,plane.Попробуй их по убирать,и посмотри ,что получиться
А вы знаете что я знаю?
Аватара пользователя
ARTgames
UNIт
 
Сообщения: 89
Зарегистрирован: 17 сен 2010, 17:39
Откуда: Тимашевск
Skype: ARTgames3

Re: Unity прекращает работу

Сообщение t.key 18 сен 2011, 18:58

Попробуй Instantiate().gameObject вместо as GameObject. Не думаю что из-за этого, но вдруг прокатит :) .
Если соберутся восемь ваххабитов, получится один ваххаByte.
Казахстанским геймдеверам: _ttp://gamez.kz
Аватара пользователя
t.key
UNIт
 
Сообщения: 72
Зарегистрирован: 03 авг 2011, 17:38
Откуда: Казахстан

Re: Unity прекращает работу

Сообщение seaman 20 сен 2011, 18:45

Вы убрали Инстансы в самих себя? Если нет - как Вам помочь? Написать скрипт за Вас?
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

След.

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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19