为什么只能由 AnimationPlayer 指定角色动画,而不能指定 AnimatedSprite2D 中创建的动画?因为使用 AnimationPlayer 创建帧动画非常麻烦。然而,尝试通过 AnimationPlayer 为 AnimatedSprite2D 创建动画通道时,动画无法显示。查阅官方手册后,也未找到相关操作说明。
我认为选择使用 AnimationPlayer 是为了保持视觉脚本的线性工作流。由于 AnimatedSprite2D 使用不同的资源类型,因此决定暂时只支持一种动画类型。鉴于 AnimationPlayer 功能更强大,AGMaker 在发布时将支持它。
一种变通方法是先设置 AnimatedSprite,然后通过 AnimationPlayer 进行控制,并将其用于视觉脚本动画,但这在某种程度上违背了初衷,因为你仍然在使用 AnimationPlayer。
另一种选择是创建 AnimatedSprite,然后在需要时将其显示/隐藏(我在 Bazelot Quest 示例中对一些 Sprite2D 就是这样做的)。但问题是,这样会失去自动方向翻转的功能。
我想说的是,在测试版期间,多次有人请求提供使用 AnimatedSprite2D 或 AnimationPlayer 的选项。我不知道这是否会实现,但希望能如愿!![]()
感谢您的回复。昨晚在与朋友们商量后,我找到了一个解决方案。我可以通过在 AnimationPlayer 中引用 AnimatedSprite2D 的方法函数,来实现播放 AnimatedSprite2D 中编辑的动画的效果。不过,这仍然有些麻烦。我期待未来能支持直接在 AnimatedSprite2D 中编辑动画。
TLDR:它们可能效果不错。
你好 moluoye233,我看到了你的帖子,并饶有兴致地进行了实验。
以下是我的实验结果:
1)实际上,AnimatedSprite2D 可以在 AnimationPlayer 中使用。虽然无法像其他节点那样通过检查器(Inspector)上的钥匙形按钮直接添加关键帧,但我们仍然可以通过左上角的加号按钮来添加关键帧。
2)当关键帧轨道尚未包含 animation 属性时,似乎没有预览图像。
然而,一旦添加了 animation 属性,我们便可以在动画编辑器的时间轴上看到图像预览。
虽然在编辑帧数时略显繁琐,但这终究是一个可行的解决方案。
此外,我已经在 GameObject 上进行了测试,一切运行完美。

