> GUI
Katran
Отправлено: 11 октября 2014 в 17:55
Post Id
cообщений: 3 пользователь offline

Создавая игровое меню, хотелось бы внести туда настройку чуствительности мыши. Подскажите, какие команды для этого нужно прописать в скрипте (желательно c#)?
Что именно нужно:
1) Ползунок, перемещая который можно регулировать чувствительность мыши.
2) Число, находящееся рядом с ползунком и показывающее выбранный уровень чувствительности.
3) Кнопка, подтверждающая выбранный уровень.

Обновлено: 13 октября 2014 в 20:28
 Top
Aceton
Отправлено: 12 октября 2014 в 21:39
Post Id
cообщений: 155 администратор offline
 Top
Katran
Отправлено: 13 октября 2014 в 20:28
Post Id
cообщений: 3 пользователь offline

Спасибо за ссылку, информация по ней помогла. Однако, без ответа, всё же, остаётся один вопрос - как подтвердить выбранный уровень чувствительности?
Например, для подтверждения выбранного уровня разрешения экрана можно применить команду "Screen.SetResolution (width, heidht, fullscreen)".
Для подтверждения выбранного уровня громкости - "audio.volume = 1.0F".
Для подтверждения выбранного уровня чувствительности мыши - ?

 Top
Katran
Отправлено: 27 октября 2014 в 11:10
Post Id
cообщений: 3 пользователь offline

Сам спросил, сам разобрался, сам и отвечу :)
Уверен, что есть другие способы вывода значений. Если кто-то может что-либо ещё предложить или внести поправку, буду только рад.
Итак, для C# скрипта:

public class Menu : MonoBehaviour {
public MouseLook ML; // Ссылка на скрипт «MouseLook» (вместо «ML» можно написать что угодно)
private int sensX = 15; // Для вывода числовых значений на экран
private int IntSpeed; // Для расчётов чувствительности
private float FloatSpeedXY = 2; // Этапы чувствительности (в нашем случае их три - 0, 1, 2)
private string StringX; // Для привязки значений к бегунку

void OnGUI(){
GUI.Label(new Rect(Screen.width/2 - 110, Screen.height/2 - 70, 230, 30), "Скорость мыши"); // Текст
GUI.Label(new Rect(Screen.width/2 + 85, Screen.height/2 - 70, 80, 30), StringX); // Вывод выбранной скорости мыши на экран
FloatSpeedXY = GUI.HorizontalSlider(new Rect(Screen.width/2 + 5, Screen.height/2 - 65, 70, 30), FloatSpeedXY, 0, 2); // Бегунок, перемещая который изменяем уровень чувствительности мыши

//Расчёты скорости
IntSpeed = (int) FloatSpeedXY; // Этап «0»
if (IntSpeed == 0){
ML.sensitivityX = ML.sensitivityY = 5F; // Данному этапу соответствует чувствительность «5»
sensX = 5; // Значение, которое выводится рядом с бегунком
StringX = sensX.ToString(); // Привязка значения к бегунку
}
if (IntSpeed == 1){
ML.sensitivityX = ML.sensitivityY = 10F; // Данному этапу соответствует чувствительность «10»
sensX = 10; // Значение, которое выводится рядом с бегунком
StringX = sensX.ToString(); // Привязка значения к бегунку
}
if (IntSpeed == 2){
ML.sensitivityX = ML.sensitivityY = 15F; // Данному этапу соответствует чувствительность «15»
sensX = 15; // Значение, которое выводится рядом с бегунком
StringX = sensX.ToString(); // Привязка значения к бегунку
}
}
}

После этого:
1) В сцене создаём «пустышку» (Empty) и прикрепляем к ней наш скрипт (вообще, скрипт можно прикрепить к любому объекту в сцене, но лучше для этого создать отдельный элемент).
2) Выбираем эту самую «пустышку» и в «Инспекторе» (Inspector) видим наш скрипт, там — строка «ML» (или что написали вместо «ML»).
3) В эту строку из «Иерархии» (Hierarchy) перетаскиваем объект, на котором закреплён скрипт «MouseLook» (например, «Main Camera»).
Как-то так.

 Top
Aceton
Отправлено: 29 октября 2014 в 12:43
Post Id
cообщений: 155 администратор offline

Спасибо!

 Top
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
 



Новые сообщения