我正在尝试做一个小iOs游戏。用户将被呈现一个比设备的屏幕尺寸更大的场景。我相信正确的处理方法是创建场景并将其放置在滚动视图中,这样用户就可以滚动查看整个场景(甚至可以滚动进出以查看更多细节)。但是我在这方面没有成功..。这是代码:
- (void)viewWillLayoutSubviews
{
// Configure the view.
SKView * skView = (SKView *)self.view;
if (!skView.scene) {
skView.showsFPS = YES;
skView.showsNodeCount = YES;
// Create and configure the scene.
// the size will eventually come from the levels file
SKScene * scene = [[PSMainGameScene alloc] initWithSize:skView.bounds.size andLevel:0];
scene.scaleMode = SKSceneScaleModeAspectFill;
// TODO Add ambiental music
// Present the scene.
[skView presentScene:scene];
}
}这似乎增加了场景,我可以滚动,但场景没有精灵,即使你的skview应该画他们(在角落,滚动后,我能够看到帧速率11 has (为什么这是如此小),0精灵)当添加到一个滚动视图之外,精灵是可见的)。
我还想添加一个HUD :几个按钮将悬停在相同的地方,无论用户卷轴/缩放.我见过一个没有滚动视图的例子,其中thouchesDidMove被用来滚动SKView,我不认为这是一种方法。有人知道做这件事的最佳方法吗?或者为什么我的代码不起作用?谢谢
发布于 2014-03-26 19:35:52
我在这里回答了一个类似的问题:在SKSpriteKit中创建可滚动表的正确方法是什么?
总之-我建议建立在ScrollKit的基础上。在此基础上,我建议翻转UIScrollView Y坐标以匹配SpriteKit的坐标系,并使用允许设置其contentOffset的自定义SKNode (这里是这样一个节点的例子。)。
发布于 2014-03-26 19:29:13
看看GitHub上的这个项目。它展示了一个在UIScrollView项目中使用SpriteKit的示例。
https://stackoverflow.com/questions/22514434
复制相似问题