Xcode 9:SKEditorReference不允许动画?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Xcode 9:SKEditorReference不允许动画?相关的知识,希望对你有一定的参考价值。
我似乎无法获得通过引用添加的精灵节点(将一个sks文件拖放到Xcode 9中的另一个sks文件中)来制作动画。这似乎是允许的,因为你可以在物理上做这样的事情,但我不确定为什么子节点不会动画。
示例1.从标准spritekit模板开始2.添加HUD.sks文件,并在某处添加颜色精灵,将其命名为“hudSpriteNode”3。将HUD.sks文件拖到GameScene.sks场景中 - 将其置于零4。找到hudSpriteNode(按名称)5。用.position移动它(有效!)6。用动画移动它(失败!)
HUD.Qazxswpoi信
将此代码添加到GameScene.swift
运行...位置正确移动,但动画失败。
请参阅评论中的@Marcel链接。他指出我的帖子主要是通过我的一些额外的更新/验证来实现的。但是,我能够让它工作的唯一方法是将isPaused放在我试图设置动画的精确精灵节点上(在我的ref节点内)。
我在顶层尝试了isPaused = false,主要场景已经移动查看,但没有效果,然后将isPaused = false添加到主参考节点,无效。只有当我添加了isPaused = false时,它才会起作用。实际的精灵(在我添加的ref节点中)我试图制作动画。我从main和ref节点中删除了isPaused = false,并且只要isPaused = false仍然在有问题的sprite节点上(我尝试动画的ref节点中的那个节点):success。
底线似乎是参考节点中包含的任何精灵都需要isPaused = false。
见@Eric帖子。
应用到顶级SpriteKit场景(主场景)不是应用于SKSpriteNode本身,而是为我做了诀窍。
if let testSpriteNode = childNode(withName: "//hudSpriteNode") as? SKSpriteNode {
print("Found test sprite node")
print("Test node position 1: (testSpriteNode.position)")
testSpriteNode.position = CGPoint.zero
print("Test node position 2: (testSpriteNode.position)")
testSpriteNode.run(SKAction.moveBy(x: 200, y: 200, duration: 4))
}
它似乎取决于使用的上下文,我在SCNPlane中动画一个SpriteKit场景,然后由ARKit 2处理。
spriteKitScene?.isPaused = false
plane.firstMaterial?.diffuse.contents = spriteKitScene
注意:在Xcode 10 Beta 6上运行。
以上是关于Xcode 9:SKEditorReference不允许动画?的主要内容,如果未能解决你的问题,请参考以下文章
Xcode 9.2 不支持 iOS 11.3 的 Xcode 需要 9.3
Xcode 服务器 - Xcode 9 - 使用旧的配置文件