Здравствуйте! У меня появилась одна проблема, которую не могу решить уже второй день. Я пытаюсь осуществить поворот спрайта в сторону курсора. Я пробовал использовать вот такой метод решения, используя Java и LibGDX, а также стандартную библиотеку Math:
/*
Здесь dir_to_pointer - это вектор направления на курсор
*/
Vector2 dir_to_pointer = new Vector2(pointer.x - position.x, position.y - pointer.y);
float angle = (float) Math.toDegrees((Math.atan2(dir_to_pointer.y, dir_to_pointer.x)));
s.setRotation(angle);
Все бы хорошо, но когда персонаж подходит к углам экрана (координата {0,0}
и {Ширина_Экрана, Высота_Экрана}
), и я перемещаю курсор в другое место, то начинает творится непонятно что. Спрайт не может поворачиваться вокруг своей оси (я также пробовал установить
setOriginCenter()
).
Дальше я пробовал использовать acos(A*B)
, где A*B - это скалярное произведение векторов направления(вектор направления персонажа и вектор направления на курсор). Но это тоже не помогло.
Может кто-то подскажет какой-то другой метод, но пожалуйста, если можно с объяснениями. Буду очень благодарен)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Ребята, я начинающий в программированииВыбрал Java
Есть лист объектов с каким-то количеством полей среди которых есть типЕсть Map<String, String> в первом поле которого тип, а во втором вес
Всем приветКак можно сменить (а можно ли) шрифт текста в TabLayout и TabItem в Android приложении?