I created a ladder system based on the method described here, but when I set separate animations for stopping mid-ladder and for climbing up/down, pressing either the left or right arrow key while climbing causes the character to stop climbing.
Even when I configured diagonal input to allow climbing, there was no change.
While simple climbing works fine, I’m having trouble smoothly initiating climbing while walking or mid-jump forward. Is there a better way to handle this?
This script is designed for vertical ascent only. If you want to move freely, how about this concept: do not use the command to move in a specified direction; instead, while touching the ladder, press up to switch to ladder movement mode.
Ladder standby
Ladder movement
Divide into these two states, both with gravity disabled. When any input is detected, transition from state 1 to state 2, allowing free movement while on the ladder.
When the AreaID changes to something other than a ladder, switch back to normal mode.
Sorry, but the question here is that if there is input to the right or left while climbing, the climbing stops.
When waiting while touching the ladder and pressing up, climbing begins, and the climbing state is maintained. However, if right or left input occurs during climbing (while inputting up or down), the climbing is interrupted while the climbing animation is still playing.
(The same happens if you continue pressing up or down while holding right or left input.)
To climb again, you must stop pressing right or left, and also temporarily stop pressing up or down.
It would be fine if climbing only from a standing position, but…
If you touch the ladder while walking and immediately start climbing, or
if you touch the ladder while jumping forward and immediately start climbing,
it becomes easier to accidentally press right or left simultaneously,
causing the ladder movement animation to stop,
and requiring you to stop all input before climbing again, which is inconvenient.