SpriteKit - 没有添加到SKCameraNode的节点 - Swift

时间:2017-01-16 05:18:52

标签: swift sprite-kit

我试图将游戏手柄控制器固定在我的相机节点的左下角但是当我将节点添加为我的相机的孩子时它不显示?

adb logcat -c
adb logcat -d > log.txt

2 个答案:

答案 0 :(得分:1)

您不需要

convert(CGPoint(x: 0, y: 0), to: gameCamera)

您可以将CGPoint位置设置为(0,0),它应该位于相对于相机空间的那一点。

根本不确定这是否有帮助,但我所做的是(通常)将子节点添加到其父节点后定位它。对我来说,这主要是一个精神提示,即孩子的位置在父母的坐标空间内。所以我会做这样的事情:

gameCamera.addChild(joypadBackground)
joypadBackground.position = CGPoint(x: 0, y: 0)

如果您在SKScene中使用中画面原点,则应位于屏幕中间。

左下角将是负x和负y值,其大小相对于您的帧大小。

答案 1 :(得分:0)

第一次使用SKCameraNode并创建抬头显示时,我遇到了同样的问题。

基本上你必须记住相机有两个部分。运行其功能并呈现其子项。通过将场景的相机设置为gameCamera,您可以设置功能,但您的相机不在节点树中进行渲染。因此,如果您有一台需要渲染其孩子的相机,请不要忘记将其作为孩子添加到场景中,然后将显示相机的孩子。

self.camera = gameCamera
self.addChild(gameCamera)

希望通过一个非常简单的解决方案帮助某人避免一个非常常见的错误。