Для того чтобы персонаж выполнял анимацию атаки и находясь в состоянии бега в Unity 2D, необходимо создать два разных состояния анимации: одно для атаки и другое для бега. Затем в скрипте управления персонажем нужно добавить логику, которая будет проверять, находится ли персонаж в состоянии атаки. Если да, то запускать анимацию атаки, если нет - анимацию бега.
Чтобы изменить скрипт атаки персонажа, чтобы анимация атаки запускалась только во время атаки, а не во время бега, можно добавить условие для запуска анимации атаки. Например, в скрипте управления персонажем, при нажатии на кнопку атаки, нужно проверить, находится ли персонаж в состоянии бега. Если нет, то запускать анимацию атаки. Если же персонаж бегает, то анимация атаки не должна запускаться.