Ladder升降 not moving

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.

  1. Ladder standby
  2. 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.

I see. In that case, how about the following format?

  1. Start climbing action (starts climbing when Up is pressed if the AreaID matches the specified one)
  2. Climbing wait action (unconditionally transitions from 1; a dedicated wait action during climbing)
  3. Ascend action (from 2, climbs if Up, Left, or Right input is detected; returns to 2 when input stops)
  4. Descend action (from 2, descends if Down input is detected; returns to 2 when input stops)

Resolved. Thank you.

1 Like