Ответ: Передача переменной в метод
ребят, глупый вопрос но все-таки. Делаю метод CheckInBorders:
PHP код:
он по идее должен проверить в какую из рамок экрана попал курсор мыши (для навигации камеры) но компилятор на каждом условии выдает ошибку cs0201 метод вызывается из метода update. Не могу понять почему так. MouseXCord, MouseYCord инициализируются при каждом вызове метода, типы соблюдаются... в чем может быть косяк? |
Ответ: Передача переменной в метод
везде return забыл и тип функции GetBordersInfo, после каждого условия компилятор не понимает что делать со значением.
|
Ответ: Передача переменной в метод
Цитата:
Стоп! А что по мнению вопрошающего делает выражение "GetBordersInfo.Left"? Оно возвращает значение enum. Что делают с этим значением - либо присваивают чему то, либо возвращают из функции. pax решил, что надо вернуть. Что хотели Вы? Цитата:
Ошибка в том, что нет скобки '}' у метода Start |
Ответ: Передача переменной в метод
про скобку - просто пропустил в цитате.
return не используется, но я понял с вашей помощью в чем косяк, я не правильно обновлял контейнер для enum PHP код:
кстати еще один вопрос, есть ли в C# конструкции которые позволяют условия типа ((x > a)&(x < b)) записывать более компактно? Именно попадание переменной в диапазон |
Ответ: Передача переменной в метод
Цитата:
|
Ответ: Передача переменной в метод
Напиши расширение, если нужно:
Код:
public static class Extension if(x.InRange(a, b)) |
Ответ: Передача переменной в метод
Это не на много короче, а по сути одно и то же. Плюс ты написал расширение с проверкой, что граничные значения диапазона не учитываются.
Кстати ты используешь побитовый И (&). Для чего? Надо обязательно проверить два условия? Оператор && остановит выполнение если уже не верно левое условие. |
Ответ: Передача переменной в метод
Цитата:
|
Ответ: Передача переменной в метод
блин, ребят помогите, опять застрял, четвертый час бьюсь а косяка не могу найти до сих пор.
В чем смысл - делаю навигацию камеры с небольшим движением по инерции после смены направления. Но почему-то весь блок где инерция должна по идее происходить - не происходит. Хотя если вставить отладчики, то видно что эти блоки выполняются. PHP код:
Т.е. если курсор был в левой части экрана GetBordersInfo.Left то при перемещении в центральную часть GetBordersInfo.None скорость должна плавно угаснуть с 1 до 0. Но не выходит, всю голову поломал. PS: Внимание, много говнокода! |
Ответ: Передача переменной в метод
RealSpeedX = Mathf.Lerp(SpeedXFrom, SpeedX, Time.time/2f); сдается мне что третье число в формуле должно лежать в диапазоне 0...1, а оно уже через 2 секунды от старта будет всегда больше 1, то есть надо выделить целую часть от такого числа и вычесть из исходного. Но хз как то оче сложно все для такой задачи.
|
Ответ: Передача переменной в метод
Цитата:
Вроде до второй секунды Time.time/2f и будет давать диапазон 0..1 или я ошибаюсь? |
Ответ: Передача переменной в метод
Как-то так
PHP код:
|
Ответ: Передача переменной в метод
Спасибо pax! То что нужно. Сразу в голову не пришло что нужно фиксировать начало инерции.
|
Ответ: Передача переменной в метод
как-нибудь можно отследить одновременное нажатие двух клавиш с помощью Input.GetKey? в том плане, что одна кнопка вызывает одно действие, вторая - другое, а две вместе третье
|
Ответ: Передача переменной в метод
Ну...
PHP код:
|
Часовой пояс GMT +4, время: 07:28. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot