У меня ошибка в скрипте или это ошибка, я не знаю. Когда я начинаю игру в первый раз, она идет очень гладко, но после того, как я играю примерно через 20 секунд, игрок начинает двигаться медленнее и медленнее, и в конце он почти не двигается.Как избежать ухудшения отставания/замедления в Unity 2D Runner?
Игра - Бесконечный бегун, когда я умираю, я нажимаю кнопку повтора, а затем он становится медленнее после каждой попытки.
Script
void MovePlayerOnYAxis()
{
foreach (Touch touch in Input.touches)
{
Vector3 newPosition = transform.position;
newPosition.y += Mathf.Clamp(touch.deltaPosition.y * speed, MIN_SPEED, MAX_SPEED) * Time.fixedDeltaTime;
transform.position = newPosition;
}
}
Вы инстанцирование объектов для вашего бегуна? Это делается путем объединения объектов, или вы используете 'Instantiate()'? Вы уничтожаете эти объекты после этого, если они созданы? Используйте профилировщик Unity, чтобы определить, что увядает вашу игру, и затем обновите свой вопрос, если найдете что-нибудь интересное. – Serlite
@Serlite Я использую объект-разрушитель, когда объекты идут за экран, который он уничтожает, и после повторной попытки снова загружает сцену игры, и все объекты начинают двигаться с нуля, но движение игроков начинает идти медленнее и медленнее, я хочу сделать мой игрок к моей оси y что-то вроде этого https://www.youtube.com/watch?v=CeW6SCQv--o watch 13: 00-13: 05, в видеообъекте движется по оси х, я хочу переместить их на оси y, я новичок в программировании, поэтому ваша помощь будет очень хорошей, извините за плохой английский –
Если это замедляется по мере продвижения игры, пожалуйста, посмотрите на [Unity Profiler] (https: //docs.unity3d. com/Manual/Profiler.html), чтобы выяснить, от чего возникает проблема производительности. Это действительно полезный инструмент, который вам следует знать. – Serlite