Как установить максимальную / предельную величину, на которую видеоклип может быть перемещен по x и y? - PullRequest
0 голосов
/ 29 марта 2019

Я делаю Create-a-Character. Одной из функций является возможность отрегулировать расположение черты лица. Например. может двигать носом вверх или вниз (Например, с помощью кнопок со стрелками: 1 нажмите на кнопку вверх, немного подвиньте нос вверх.)

Но, очевидно, я не хочу, чтобы глаза, нос или губы плавали вне лица, или нос оказался на лбу, что было бы странно.

Так как мне сделать так, чтобы пользователь мог перемещать видеоклип только определенное количество раз в выбранном направлении?

Ответы [ 2 ]

0 голосов
/ 02 апреля 2019

Пользователь 987 ответ правильный, однако, если ваша кнопка перемещает объект в более быстром темпе, скажем, + -5, установка + -2 к смещению может не вернуть его обратно в границу.Он будет исправляться на + -2 каждый последующий кадр, не учитывая, будет ли пользователь продолжать удерживать кнопку, чтобы попытаться выйти за границы дальше.Нос будет продолжать скользить дальше.

Лучший способ реализовать это - немедленно вернуть нос к краю границы.

if (nose.y > 140) {
  nose.y = 140;
}
0 голосов
/ 30 марта 2019

Если вы используете только кнопки со стрелками для перемещения объектов, это очень легко.После нажатия кнопки проверьте положение объекта и переместите его, если необходимо.Базовый пример:

// if arrow up clicked
if (nose.y > 100)
{nose.y -= 2}

// if down arrow clicked
if (nose.y < 140)
{nose.y += 2}

То же самое для оси х, и, очевидно, числа 100 и 140 могут быть любыми.Это означает, что объекты нужно перемещать между этими точками.

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