访问场景编辑器中定义的动作
Accessing an action defined in Scene Editor
我有一个使用 SpriteKit 的应用程序,它根据用户输入在不同场景之间转换。我在单独的 .sks
文件中定义了所有场景,每个场景都包含一个带有过渡 SKAction 的 Sprite(来自对象库中的 AnimateWithTextures
动作)。
我想做的是让用户能够在设置中设置过渡持续时间。为此,我需要从现场访问 SKAction,但似乎无法找到以编程方式访问它的方法。我知道我可以在 运行 代码中使用 run: withKey:
设置一个键,但是我可以在 Scene Editor 中设置这个键吗?
如果您将动作放在 SKScene 文件上,那么它会在提供的时间轴上触发,您将无法抓住它。但是您可以在场景文件的时间轴 table 上执行 CMD + 单击您想要的操作。并将其保存为参考。这将创建一个 sks 文件来存放您的操作。
现在您已经在动作文件中有了动作,您可以使用 SKAction(named:"actionname")
将其拉出。
如果这是您要反复使用的操作,我建议将其存储到一个变量中,并在需要时调用该变量。
我有一个使用 SpriteKit 的应用程序,它根据用户输入在不同场景之间转换。我在单独的 .sks
文件中定义了所有场景,每个场景都包含一个带有过渡 SKAction 的 Sprite(来自对象库中的 AnimateWithTextures
动作)。
我想做的是让用户能够在设置中设置过渡持续时间。为此,我需要从现场访问 SKAction,但似乎无法找到以编程方式访问它的方法。我知道我可以在 运行 代码中使用 run: withKey:
设置一个键,但是我可以在 Scene Editor 中设置这个键吗?
如果您将动作放在 SKScene 文件上,那么它会在提供的时间轴上触发,您将无法抓住它。但是您可以在场景文件的时间轴 table 上执行 CMD + 单击您想要的操作。并将其保存为参考。这将创建一个 sks 文件来存放您的操作。
现在您已经在动作文件中有了动作,您可以使用 SKAction(named:"actionname")
将其拉出。
如果这是您要反复使用的操作,我建议将其存储到一个变量中,并在需要时调用该变量。