如何让SCNTransaction结束

时间:2016-04-11 15:48:13

标签: ios swift sprite-kit scenekit skspritenode

我有一个像按钮一样使用的SKSpriteNode。 当我点击它时,它会调用一个在SCNScene中移动相机的功能

 SCNTransaction.begin()
 SCNTransaction.setAnimationDuration(2)

 SCNTransaction.setCompletionBlock {
        SCNTransaction.begin()
        SCNTransaction.setAnimationDuration(2)

        self.ResetCameraButton.texture = self.FunctionAtlas.textureNamed("ResetCameraSelected")

        self.cameraOrbit.eulerAngles.y = initialAngleY
        self.cameraOrbit.eulerAngles.x = initialAngleX
        self.cameraNode.camera?.orthographicScale = self.initialPinchScale

        SCNTransaction.commit()

            }
 SCNTransaction.commit()

这是按钮:enter image description here,这是点击按钮:enter image description here

我想将第二张图片作为我的SKSpriteNode的纹理,在动画期间 和第一张图片,仅在动画结束时。

如果我在下面添加:

  

self.ResetCameraButton.texture = self.FunctionAtlas.textureNamed(" ResetCameraUnselected")

设置 Unselected 纹理,它不起作用!

如何让动画结束以设置未选择的'纹理到我的SKSpriteNode?

2 个答案:

答案 0 :(得分:1)

SKNode是SpriteKit的一部分,它不理解SCNTransaction。只有SceneKit API标记为"可动画"在文档中可以受益于此功能。

答案 1 :(得分:0)