Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Unity > Общие вопросы

Общие вопросы вопросы не попадающие ни в один из доступных разделов

Ответ
 
Опции темы
Старый 03.05.2014, 14:45   #1936
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

pax,
1. Логично, но лучше бы он автоматически перезагружал.
2. Я привык, что в Java скобки не переносятся. Так код компактнее выглядит.
3. Да, работает. Что-то не заметил. Но помню, раньше в обычных проектах не работало.

pax, у тебя Script Execution Order нормально работает? У меня после паузы (изменения TimeScale) очередность вызова OnGUI нарушается.
И я так и не понял для чего указываются эти цифры и что такое default Time?

Я так понял, если число отрицательное, то события будут вызывается вообще перед всеми событиями в других скриптах, даже если этих скриптов нету в Execution Order списке ?

Последний раз редактировалось WISHMASTER35, 03.05.2014 в 15:50.
(Offline)
 
Ответить с цитированием
Старый 03.05.2014, 19:35   #1937
radiobutton
Бывалый
 
Регистрация: 16.09.2011
Сообщений: 863
Написано 257 полезных сообщений
(для 546 пользователей)
Ответ: Вопросы от новичка

2. А у меня наоборот проблемы, со скобкой на той же строчке. =0
(Offline)
 
Ответить с цитированием
Старый 03.05.2014, 21:09   #1938
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Я вообще не использую Script Execution Order, это костыль для тех, кто не может организовать работу логики в проекте нормально я считаю.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 03.05.2014, 22:13   #1939
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

pax, у меня один скрипт рисует кнопки, а другой двигает камеру.
Если в первом скрипте нажата кнопка, то делаю Event.current.Use() и во втором скрипте двигать камерой уже нельзя.
(Offline)
 
Ответить с цитированием
Старый 03.05.2014, 23:16   #1940
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Зачем ты двигаешь камеру в OnGUI?
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 04.05.2014, 19:57   #1941
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

pax, чтобы отсеять движения мышью над кнопками.

Перенес все в Update на свою голову.
Теперь получается, что в Update у меня происходит PickObject т.е. выбор объекта на карте.
Но когда объект выбран, над ним рисуется его GUI - две кнопки. И получается, что я жму на эти кнопки, а происходит PickObject и либо выбирается другой объект, либо так сказать Unselect. И те кнопки так и не срабатывают.
И Update и OnGUI у меня в одном скрипте.

Последний раз редактировалось WISHMASTER35, 04.05.2014 в 23:00.
(Offline)
 
Ответить с цитированием
Старый 04.05.2014, 23:27   #1942
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Так сделай проверку на попадание мыши в GUI. И пусть в Update проверяется этот флаг. Я у себя делал регистрацию Rect'ов элементов и если в этом кадре ни в один рект мышка не попала, то флаг false. Иначе true.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 05.05.2014, 00:34   #1943
ANIK123
Знающий
 
Аватар для ANIK123
 
Регистрация: 29.11.2010
Сообщений: 244
Написано 31 полезных сообщений
(для 49 пользователей)
Ответ: Вопросы от новичка

я что-то сломал
все частицы в эдиторе стали воспроизводятся в "ван шот", даже чистые, "свежесозданные"
в плеймоде же все гуд, loop работает

это глюк?
версия самая свежая, но крякнутая (хотел посмотреть что творится в профайлере и побаловаться с шейдерамы), но установил я ее еще неделю назад, а глюк появился сегодня
все что я перед этим делал необычного так это впервые подключал андроид-устройство через remote

UPD: удалил крякнутую и поставил фри-версию, глюк остался
тут вспомнил что я изменял fixed timestep на максимум ибо физика мне не нужна
не ожидая ничего хорошего я установил единицу и... ваншоты стали воспроизводится чаще О_О
выставил значения по умолчанию и получил нормальные системы частиц, которые воспроизводятся без прерываний
мне кажется это костыль, или так и должно быть?)
__________________
Intel Core i3-4005U (1.7 ГГц), 4 ГБ ОЗУ, nVidia GeForce 940M 4 ГБ, Win8.1

Последний раз редактировалось ANIK123, 06.05.2014 в 00:37.
(Offline)
 
Ответить с цитированием
Старый 27.05.2014, 16:27   #1944
Левша09
Оператор ЭВМ
 
Регистрация: 28.12.2011
Сообщений: 25
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Вопросы от новичка

Товарищи, помогите, пожалуйста, далекому от кода человеку.
Суть задачи: по нажатию клавиши загружать в сцену префаб, удаляя текущий. по нажатию другой клавиши тоже самое в обратном порядке.
Как мне уже подсказали нужно использовать массивы.
Но даже прочитав статьи и примеры, до меня никак не доходит как это правильно сделать.
(Offline)
 
Ответить с цитированием
Старый 28.05.2014, 01:09   #1945
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Вопросы от новичка

Сообщение от Левша09 Посмотреть сообщение
Товарищи, помогите, пожалуйста, далекому от кода человеку.
Суть задачи: по нажатию клавиши загружать в сцену префаб, удаляя текущий. по нажатию другой клавиши тоже самое в обратном порядке.
Как мне уже подсказали нужно использовать массивы.
Но даже прочитав статьи и примеры, до меня никак не доходит как это правильно сделать.
using UnityEngine;
using System.Collections;

public class SomeStrangeBehevior : MonoBehaviour {


	public GameObject timber;

	void Start () {
	}
	
	void Update () {
	}

	void OnMouseDown(){
                 GameObject someGameObject = (GameObject) Instantiate(timber);
		 Destroy (this.gameObject);
	}   

}
Что то наподобие этого наверно.


А как сделать объект прозрачным для OnMouseDown()?
(Offline)
 
Ответить с цитированием
Старый 28.05.2014, 01:11   #1946
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Сообщение от dsd Посмотреть сообщение
А как сделать объект прозрачным для OnMouseDown()?
Возможно переместить его в слой Ignore Raycast
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
dsd (28.05.2014)
Старый 28.05.2014, 12:53   #1947
Левша09
Оператор ЭВМ
 
Регистрация: 28.12.2011
Сообщений: 25
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Вопросы от новичка

Сообщение от dsd Посмотреть сообщение
Что то наподобие этого наверно.
Что-то мне кажется что не то. Хотя работу скрипта я не понимаю.
Мне бы конечно лучше на пальцах объяснить.

Возможно в вопросе упустил важную деталь, нужно загружать/удалять определенные префабы в определенном порядке.

Опишу проще: выбор автомобилей в гараже (но не храня в памяти все модели сразу).
(Offline)
 
Ответить с цитированием
Старый 28.05.2014, 14:04   #1948
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Попробуй это:
using UnityEngine;
using System.Collections;

public class 
SomeStrangeBehevior MonoBehaviour
{
    
// текущий объект
    
private GameObject current;
    
// список ресурсов для показа
    
public string[] resources;
    
// тот который показывается сразу
    
public int currentIndex 0;

    
// показываем дефолтный
    
private void Start()
    {
        
Display();
    }

    
    private 
void Display()
    {
        if (
current != null// при показе уничтожаем существующий
        
{
            
Destroy(current);
        }
        
current = (GameObjectInstantiate(Resources.Load(resources[currentIndex]));
    }

    
// при клике меняем
    
void OnMouseDown()
    {
        
currentIndex++;
        if (
currentIndex >= resources.LengthcurrentIndex 0;
        
Display();
    }   


Необходимые модели положи в папку Resources и в массиве resources указывай пути относительно нее (если например объект лежит в "Resources/Folder/Object", то путь будет "Folder/Object")
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Левша09 (28.05.2014)
Старый 28.05.2014, 15:28   #1949
Левша09
Оператор ЭВМ
 
Регистрация: 28.12.2011
Сообщений: 25
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Вопросы от новичка

pax, большое спасибо за коменты в коде, именно этого и не хватало.
(Offline)
 
Ответить с цитированием
Старый 09.07.2014, 04:26   #1950
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

Кто-нибудь пробовал использовать GUIUtility.ScaleAroundPivot внутри BeginGrop-EndGroup?
Проблема в том, что ScaleAroundPivot влияет на размер группы.

Делаю редактор атласов.
Чтобы в привью рисовать тайлы на атласе, нужно рисовать внутри группы маленькие текстурки, с координатами от 0 до w\h (размер атласа).
Но группа может быть меньше, чем эти w и h. Для этого я пытаюсь отскейлить GUI матрицу, но это скейлит и размер группы, что в итоге обрезает часть атласа.
Вот так (: Только на скриншоте размер группы равен размеру атласа, поэтому box выходит за экран.
Миниатюры
Нажмите на изображение для увеличения
Название: Безымянный.png
Просмотров: 598
Размер:	92.4 Кб
ID:	20714  
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 12:23.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com