forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Общие вопросы (http://forum.boolean.name/forumdisplay.php?f=166)
-   -   Вопросы от новичка (http://forum.boolean.name/showthread.php?t=15809)

pax 13.01.2015 18:06

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от ANIK123 (Сообщение 291720)
UnityEngine.Random и System.Random ссорятся, если не указать явно простарнство имен
А тут компилятор сам решил, ничего не спрашивая, какой Gradient использовать

Объявление класса в каком-то конкретном пространстве имен не имеет ничего общего с конфликтом имен классов с текущими директивами using при объявлении типов переменных и методов.

Не пиши using System; чтобы использовать Random из using UnityEngine;
Либо пиши using Random = UnityEngine.Random;

ANIK123 14.01.2015 01:53

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от pax (Сообщение 291724)
Объявление класса в каком-то конкретном пространстве имен не имеет ничего общего с конфликтом имен классов с текущими директивами using при объявлении типов переменных и методов.

Не пиши using System; чтобы использовать Random из using UnityEngine;
Либо пиши using Random = UnityEngine.Random;

Извини, не понял ответа
Когда в контексте есть два Gradient, то почему компилятор сам решил, ничего не спрашивая, какой именно использовать, тогда как при использовании Random он таки спрашивает?

pax 14.01.2015 02:34

Ответ: Вопросы от новичка
 
Объясняю:
  1. В текущем пространстве имен (без пространства имен) был твой Gradient класс. Это однозначное определение, потому что смотрится сначала текущее пространство имен, потом все остальные (using).
  2. При создании переменной типа Random в текущем пространстве имен ничего не было, поэтому поиск производится по всем using. В результате в двух using есть Random: System.Random и UnityEngine.Random. Какой из них взять? Сам понимаешь, что конфликт.

ANIK123 14.01.2015 03:55

Ответ: Вопросы от новичка
 
Обьяснение отличное, все стало понятно) Спасибо)

ANIK123 25.01.2015 19:13

Ответ: Вопросы от новичка
 
В новом ui положение обьектов в окне иерархии определяет последовательность их отрисовки
Удобная фича, хочу такое же, чтоб некая функция или даже Update вызывался в зависимости от порядка геймобджекта в иерархии
Как это сделано в ui, как заполучить и себе такое?
Неуж то вручную составлять список с помощью сиблинг-индексов?


Еще вопрос: А как использовать Button.OnSelect? Я унаследовался от Button, написал "void OnSelect(){print("Selected!");}", и ничего
UPD: Решилось так:
PHP код:

public override void OnSelect(UnityEngine.EventSystems.BaseEventData eventData){
    
base.OnSelect(eventData);


UPD2: Решилось еще лучше:
PHP код:

using UnityEngine;
using UnityEngine.EventSystems;

public class 
UIRameSelector MonoBehaviourISelectHandlerIDeselectHandler{
    public 
void OnSelect(BaseEventData eventData){
    }
    public 
void OnDeselect(BaseEventData eventData){
    }



LLI.T.A.L.K.E.R. 29.01.2015 00:46

Ответ: Вопросы от новичка
 
Здравствуйте!
Посоветуйте программу для создания игровых карт (левелдизайн).
Хочу удобный редактор, схожий на QuakeRadiant и ValveHammerEditor.
Giles, Maplet, MilkShape, 3DsMax мне не удобны по навигации и координации.

В ValveHammerEditor безпрепятственно можно быстро годный уровень слепить (но не нравится, что невидимые-ненужные поверхности нельзя отдельно удалять)

~~~
В крайнем случае могу в VHE карту смоделировать, ненужные поверхности закрасить чёрной текстурой.
А потом Unity сможет отсечь surface по идентификации текстуры? И прогрузить модель карты без ненужных поверхностей.
В Blitz3D я так оптимизацию делал.

FREE MAN 04.02.2015 18:08

Ответ: Вопросы от новичка
 
Привет всем! Есть проблема, Unity запорол сцену, возможно ли как то восстановить? открываешь сцену она пустая, мб куда то бэккапы сохраняются?

Nex 04.02.2015 22:00

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от Phyton (Сообщение 292828)
Привет всем! Есть проблема, Unity запорол сцену, возможно ли как то восстановить? открываешь сцену она пустая, мб куда то бэккапы сохраняются?

Юнити бекапы не делает.
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 100 сообщение(ий)):
У вас нет прав, чтобы видеть скрытый текст, содержащийся здесь.

FREE MAN 04.02.2015 23:18

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от Nex (Сообщение 292851)
Юнити бекапы не делает.
*** скрытый текст ***

Печаль...:mad:

Andvrok 05.02.2015 00:15

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от Nex (Сообщение 292851)
Юнити бекапы не делает.
*** скрытый текст ***

Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 100 сообщение(ий)):
У вас нет прав, чтобы видеть скрытый текст, содержащийся здесь.

ANIK123 05.02.2015 08:39

Ответ: Вопросы от новичка
 
Есть нечто такое:
PHP код:

public static void DrawEnum<K>(ref K val) {
    
val = (K)EditorGUILayout.EnumPopup(val);


И оно выдает такое:
Код:

error CS1502: The best overloaded method match for `UnityEditor.EditorGUILayout.EnumPopup(System.Enum, params UnityEngine.GUILayoutOption[])' has some invalid arguments
Пачиму? Разве Enum не обычный тип? Как сконвертировать?

И как писать скрытый текст на форуме?)

pax 05.02.2015 09:24

Ответ: Вопросы от новичка
 
Попробуй так:
PHP код:

val = (K)EditorGUILayout.EnumPopup((Enum)val); 

Скрытый текст через hide тег

pax 05.02.2015 09:25

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от Phyton (Сообщение 292828)
Привет всем! Есть проблема, Unity запорол сцену, возможно ли как то восстановить? открываешь сцену она пустая, мб куда то бэккапы сохраняются?

Используй системы контроля версий, ничего не потеряешь. Unity Asset Server вполне справляется с задачами, если работаешь небольшой командой.

ANIK123 05.02.2015 13:50

Ответ: Вопросы от новичка
 
Код:

Cannot convert type `K' to `System.Enum'
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 100 сообщение(ий)):
У вас нет прав, чтобы видеть скрытый текст, содержащийся здесь.

UPD: А вот это:
PHP код:

public static void DrawEnum<K>(ref K valwhere K Enum {
    
val = (K)EditorGUILayout.EnumPopup(val);  


выдает:
Код:

A constraint cannot be special class `System.Enum'
т е Enum априори не может быть шаблоном? Пачиму?

Taugeshtu 05.02.2015 14:21

Ответ: Вопросы от новичка
 
PHP код:

public static void SomethingSomething<T>( T input where T: class {
    var 
zz UnityEditor.EditorGUILayout.EnumPopupinput as System.Enum ) as T;


Вот такое как минимум компилится. Но это не очень красивое решение, теоретически оно может сожрать любой класс, и отдать таким образом null внутрь .EnumPopup()ß


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot