访问场景编辑器中定义的动作

Accessing an action defined in Scene Editor

我有一个使用 SpriteKit 的应用程序,它根据用户输入在不同场景之间转换。我在单独的 .sks 文件中定义了所有场景,每个场景都包含一个带有过渡 SKAction 的 Sprite(来自对象库中的 AnimateWithTextures 动作)。

我想做的是让用户能够在设置中设置过渡持续时间。为此,我需要从现场访问 SKAction,但似乎无法找到以编程方式访问它的方法。我知道我可以在 运行 代码中使用 run: withKey: 设置一个键,但是我可以在 Scene Editor 中设置这个键吗?

如果您将动作放在 SKScene 文件上,那么它会在提供的时间轴上触发,您将无法抓住它。但是您可以在场景文件的时间轴 table 上执行 CMD + 单击您想要的操作。并将其保存为参考。这将创建一个 sks 文件来存放您的操作。

现在您已经在动作文件中有了动作,您可以使用 SKAction(named:"actionname") 将其拉出。

如果这是您要反复使用的操作,我建议将其存储到一个变量中,并在需要时调用该变量。