当其他节点出现在应用程序的视图之外时,我如何使sksprite节点始终位于屏幕的中心



我曾尝试过无限滚动背景,但这里需要的节点(球)有时会出现在视图上方,当球(节点)随着重力下降时会重新出现在屏幕上。

我需要球在屏幕中央。

我对编程很陌生,这是我第一次尝试。

既然我有医学背景(专业),任何建议都会很有用。

提前感谢您的任何意见。

ball.position = CGPointMake(self.size.width/2, self.size.height/2);//Centre for all devices
ball.zPosition = 10;//sprite z position

我不太理解你的问题。如果你能出示你的密码,我可以帮你。

将要位于屏幕中心的节点命名为@"camera"

使用此代码

    - (void)didFinishUpdate
{
    [self centerOnNode: [self childNodeWithName: @"//camera"]];
}
- (void) centerOnNode: (SKNode *) node
{
    CGPoint cameraPositionInScene = [node.scene convertPoint:node.position fromNode:node.parent];
    node.parent.position = CGPointMake(node.parent.position.x - cameraPositionInScene.x,                                       node.parent.position.y - cameraPositionInScene.y);
}

所需的节点总是在视图的中心。

来源于苹果文档"高级场景处理"

最新更新