Пишу игру на unity используя c# под android. Суть кода такова: Объект вращается с постоянной скоростью, но если сделать удерживающее касание (скрипт работает только тогда, когда палец касается экрана), вращение объекта должно замедлиться, но вместо этого он просто перестает вращаться... вот код:
public class TouchRotate : MonoBehaviour {
public float velocity=180;
public float slow_velocity=90;
// Update is called once per frame
void Update () {
if (Input.touchCount > 0)
{
Touch touch = Input.GetTouch(0);
if (touch.phase == TouchPhase.Began)
{
// замедление вращения при длительном касании экрана
transform.Rotate(new Vector3(0, 0, slow_velocity * Time.deltaTime));
}
}
else
{
transform.Rotate(new Vector3(0, 0, velocity * Time.deltaTime));
}
}
}
У вас в коде есть такая ветка в условиях, в которой ничего не выполняется. А конкретно - если Input.touchCount > 0
, но touch.phase != TouchPhase.Began
.
Если вы хотите сделать то, что задумали, то вам необходимо хранить какой-то флаг. При touch.phase == TouchPhase.Began
выставляете его в true
, при touch.phase == TouchPhase.Ended
в false
. А в вашем условии проверяете именно этот флаг.
Потому что оба ивента срабатывают лишь единожды, а проверку вы делаете в каждом кадре.
Кстати, вместо флага можно просто проверять на то, что состояние либо Stationary
, либо Moved
. Но это уж как вам больше нравится. Справка тут
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Как грамотно вернуть массив структур из C unmanaged кода воспользовавшись опцией LPArray? На текущий момент маршалю все в ручную, возвращая IntPtr, но хотелось...
Подскажите, пожалуйста, на что указывает и влияет начальное значение в объявлении нового объекта RandomДопустим 999, в нашем случае
возник такой вопрос : А что если допустим на компе у владельца неправильное время, тогда получается нужно его откуда-то выудить, может аля...
Всем приветВопрос следующий: у меня есть форма и мне надо ,чтоб пользователь по нажатию на кнопку "Reset" обнулял форму(возвращал ее в исходное...