You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让AnimationPlayer切换场景时持续播放?(昼夜循环场景)

解决Godot昼夜循环跨场景持续播放的方案

你已经选对了方向——用Autoload就能搞定,下面是具体的操作步骤,新手友好:

  1. 把昼夜循环节点做成独立场景

    • 新建一个场景(比如命名为DayNightCycle.tscn),把你的AnimationPlayer和CanvasModulate放进这个场景里。注意CanvasModulate要作为根节点或者直接挂在根节点下,确保它能影响所有场景的渲染。
    • 在动画编辑器里给AnimationPlayer的昼夜循环动画勾选Loop,让它自动循环播放。
  2. 设置Autoload

    • 打开项目设置(Project Settings),切换到AutoLoad标签页。
    • 点击"Add"按钮,选择你刚才做的DayNightCycle.tscn,给它起个全局可用的名字(比如GlobalDayNight),然后勾选"Enabled"。这样游戏启动时这个节点会自动加载,并且不会随场景切换被销毁。
  3. 让动画自动启动

    • 双击打开DayNightCycle.tscn,给根节点添加一个脚本,在_ready()函数里写:
      $AnimationPlayer.play("你的昼夜循环动画名称")
      
    • 这样游戏一启动,动画就会开始播放,而且切换场景时会继续运行,不会重启。
  4. 额外注意事项

    • 别在其他场景里重复添加CanvasModulate或AnimationPlayer,不然会出现多个昼夜循环效果冲突。
    • 如果需要在其他场景里控制昼夜循环(比如暂停、加速),直接调用全局节点的方法就行,比如:
      GlobalDayNight.$AnimationPlayer.speed_scale = 2  # 加速两倍
      GlobalDayNight.$AnimationPlayer.pause()  # 暂停动画
      

内容的提问来源于stack exchange,提问作者GrumpyIdiot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 03:12:46