Здравствуйте. Пользуюсь: if (Event.current.type == EventType.KeyUp && Event.current.keyCode.Escape) { } для открытия и закрытия меню. Хотелось бы подправить реакцию кода на нажатие Down и в принципе это работает но проблема в том что при удержании кнопки, меню начинает очень быстро открываться и закрываться - типо моргать. Пробовал различные заглушки - это меня не спасло Не подскажите как избавится от этого эффекта?
function Update() { if (Input.GetKeyDown(KeyCode.Escape)) { //Твоя функцыя } else {//При нажатии на кнопку вторый раз, функцыя действует наоборот //Твоя функцыя наоборот } }
AIDEN спасибо большое, сейчас мне тоже подсказали что лучше всего проще сделать, точно так же как ты написал и в принципе это работает. Спасибо большое парни. Ради интереса можно разобрать почему же так было. Код что переваривался внутри:
Простите за криворукость, я только - только постигаю азы я.п.
Добавлено (06 Май 2013, 22:29) --------------------------------------------- Ещё одну особенность заметил что когда что-то заполняешь как на скриншоте, код отказывается работать. Нужно прописывать дополнительное условие для этого?
Сообщение отредактировал Balgas - Пн, 06 Май 2013, 17:27
Может не сработать, так как писал на форуме, но попробовать стоит.
Код
var a : boolean = false; var b : boolean = true;
function Update () { if (a == true) { //сюда свой код, когда меню открыто } if (a == false && b == true) { if (Input.GetKeyDown(KeyCode.Escape)) { a = true; b = false; } } if (a == true && b == true) { if (Input.GetKeyDown(KeyCode.Escape)) { a = false; b = false; } } if (Input.GetKeyUp(KeyCode.Escape)) { b = true; } }
Ребят тут это не в тему но возможно подскажите что нибудь, поделитесь опытом... Уже вот практически все готово в мультике. Хорошая синхронизация, настроенные проигрыши анимации и звуков, готов GUI бла бла бла... а от одной траблы все ну никак избавится не получается. Глядя на то что люди делают взял у каждого понемногу, собрал в единую кучу и написал свой мульт где создание сервера происходит в одной сцене а играем уже в другой, аналогично и с подключением - сервер выбираем в одной сцене а подключаемся и играем в другой (если что-то не так то на экран выпадают ошибки с описанием проблеммы). Когда префаб игрока от сервера уже заспавнен то при загрузке сцены и подключения, у клиента (ещё до спавна своего префаба) выбивает в консоль редактора следующие ошибки: 1-я) View ID SceneID: 5 Level Prefix: 0 not found during lookup. Strange behaviour may occur 2-я) Received state update for view id' SceneID: 5 Level Prefix: 0' but the NetworkView doesn't exist Если честно, я примерно представляю что они означают но не понимаю как их исправить. Про первую ошибку я вообще без понятия хоть и перекопал гугл. В следующей двиг ругается на то что не может присвоить полученный ID игроку (или от игрока) так как нет компонента NetworkView хотя на прифабе игроков их больше одного + 1 пустой. Знаю что это не желательно... Из-за всего этого подключенный клиент, не видит префаб сервера после спавна, а если спавн был уже после подключения - все работает как надо. Так же и следующий клиент после коннекта не видит предыдущих, уже подключившихся игроков хотя у них он отображается и нормально синхронизируется. Тупо не понимаю что от меня хочет двиг и что нужно сделать. Сейчас RPC функции практически не знаю.
Подскажите что нибудь?
Сообщение отредактировал Balgas - Вс, 12 Май 2013, 06:27
Добавлено (15 Май 2013, 04:35) --------------------------------------------- Поискал, ошибка потому что NetworkView не существует на данный момент в сцене. Нужно сделать ожидание загрузки сцены полностью, прежде чем принимать сообщения по сети.
Добавлено (15 Май 2013, 09:02) --------------------------------------------- Проблему решил, на мое удивление - просто.
Сообщение отредактировал Balgas - Вс, 12 Май 2013, 13:30