モーション変えるコードをmove_and_slide()の後に書けばいいんじゃないの?
is_on_floor()の値はスライド後に設定される筈