【发布时间】:2014-07-10 07:32:20
【问题描述】:
我正在尝试为包含多个游戏的项目创建侧滚动菜单。我想让用户水平滚动 UICollectionView(在我的初始 ViewController 内)并点击它以加载其中一个游戏。
我一直在尝试使用:
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
if(indexPath.row == 1) {
[self showSpinWheel];
}
- (void)showSpinWheel {
SKSceneLoader *spinLoaderView = [[SKSceneLoader alloc] init];
[self presentViewController:spinLoaderView animated:YES completion:nil];
}
当一个单元格被选中时,但当我点击它时它会一直崩溃。
SKSceneLoader 有这段代码,但没关系,因为它甚至在加载之前就崩溃了。
- (void)viewWillLayoutSubviews {
[super viewWillLayoutSubviews];
// Configure the view.
SKView * skView = (SKView *)self.view;
if(!skView.scene) {
skView.showsFPS = NO;
skView.showsNodeCount = NO;
// Create and configure the scene.
SKScene * scene = [SpinWheel sceneWithSize:skView.bounds.size];
scene.scaleMode = SKSceneScaleModeAspectFill;
// Present the scene.
[skView presentScene:scene];
// background sound
}
}
这是错误:
-[UIView scene]: unrecognized selected sent to instance
NSInvalidArgumentException, etc, etc.
如何判断加载场景的正确视图?据我了解,我正在尝试将 SKCcene 加载到 UIView 中,这是不正确的。我需要先加载另一个 UIViewController 并在那里加载场景吗?必须有一种方法可以从非 skcene 场景加载 SKScene。
【问题讨论】:
标签: objective-c xcode sprite-kit