Использование NET Framework в сценарии Unity - PullRequest
0 голосов
/ 03 декабря 2018

Чтобы немедленно переместить моего игрока на постоянную скорость, я хотел изменить ввод джойстика пользователя следующим образом:

float fH = Input.GetAxis("Horizontal"); 
fH = Math.Sign(fH);

transform.position += transform.right * fH * speed * Time.deltaTime;

Теперь Unity сообщает мне, что имя «Math» не существует в текущемcontext.

Я никогда не ожидал, что мне придется написать что-то вроде «using Math» (не проверено).

Это заставило меня задуматься, стоит ли мне вообще использовать какой-либо класс NET Framework или просто использоватьВстроенные функции Unity.

Есть ли причина НЕ использовать платформу NET в сценарии Unity?

1 Ответ

0 голосов
/ 03 декабря 2018

Я считаю, что вам нужно либо добавить using System;, либо использовать System.Math.Sign(fH); - Нет, нет никаких причин, по которым вы не можете использовать их в Unity.

Однако, учитывая, что вы используете Unity, вы можетеиспользуется вместо Mathf.Класс сборки Math из .NET работает с double, а Mathf оптимизирован для работы с float.Это означает, что вы будете использовать Mathf.Sign. Ошибки : Считывая документацию по Mathf.Sign, он возвращает 1, когда ввод равен 0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...