2201_75789358 2023-01-21 12:54 采纳率: 100%
浏览 11
已结题

如何用gdscript写跳跃时播放跳跃动画,下落时播放下落动画的代码

例如
我想按w键实现跳跃
使人物角色跳跃到一个平台上
移动人物使人物从平台上掉落时播放掉落动画

  • 写回答

1条回答 默认 最新

  • 快撑死的鱼 2023-01-21 17:33
    关注

    回答不易,求求您点赞采纳哦

    你可以在角色的脚本中使用一些条件语句来检测当前人物是在跳跃还是在下落,然后根据条件来控制动画的播放。

    extends KinematicBody
    
    var jumping = false
    
    func _input(event):
        if event.is_action_pressed("jump") and not jumping:
            # 检测到玩家按下跳跃键
            # 开始跳跃动画
            play("jump_anim")
            jumping = true
    
    func _physics_process(delta):
        if is_on_floor() and jumping:
            # 玩家已经落地
            # 停止跳跃动画
            stop()
            jumping = false
        elif not is_on_floor() and not jumping:
            # 玩家正在下落
            # 开始下落动画
            play("fall_anim")
            jumping = true
    

    这里使用了is_on_floor()函数来检测人物是否在地面上,如果在地面上,就表示跳跃结束,开始停止跳跃动画,如果不在地面上,就表示人物在下落,开始播放下落动画。

    注意,这只是一个示例代码,你可能需要根据你的项目需要来修改代码。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月29日
  • 已采纳回答 1月21日
  • 创建了问题 1月21日