【发布时间】:2014-03-19 18:03:17
【问题描述】:
我正在尝试制作小型 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 应该绘制它们(在角落,滚动后我能够看到帧速率 11fps(为什么这么小) 和 0 个精灵)当添加到滚动视图之外时,精灵是可见的)。
我还想添加一个HUD:无论用户在哪里滚动/缩放,几个按钮都会悬停在同一个地方......我已经看到一个没有滚动视图的示例,其中 thouchesDidMove 用于滚动 SKView ,我不认为这是要走的路... 有谁知道完成这项工作的最佳方法?或者为什么我的代码不起作用? 谢谢
【问题讨论】:
-
好好看看你的代码。您要将滚动视图添加到什么?
-
scrollView 在界面生成器中添加到主视图。 self.designView(游戏场景)也添加到IB里面的scrollView...
标签: ios objective-c uiscrollview sprite-kit