【发布时间】:2013-11-29 01:58:25
【问题描述】:
我在下面有这段代码,它在viewDidLoad: 方法中加载场景。
SKView *spriteView = (SKView *) self.view;
spriteView.showsDrawCount = YES;
spriteView.showsNodeCount = YES;
spriteView.showsFPS = YES;
PFPiePlanesScene *scene = [PFPiePlanesScene sceneWithSize:self.view.frame.size];
scene.scaleMode = SKSceneScaleModeAspectFill;
[spriteView presentScene:scene];
当我在spriteView 上拨打任何电话时,它会因以下消息而崩溃:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIView setShowsDrawCount:]: unrecognized selector sent to instance 0x9685030'
我认为这是因为它没有将实例视为 SKView,而是将其视为 UIView。
提前致谢。
一些额外的:
Sprite 套件使用此代码加载 场景。
// Configure the view.
SKView * skView = (SKView *)self.view;
skView.showsFPS = NO;
skView.showsNodeCount = NO;
// Create and configure the scene.
self.scene = [SKMyScene sceneWithSize:skView.bounds.size];
self.scene.scaleMode = SKSceneScaleModeAspectFill;
// Present the scene.
[skView presentScene:self.scene];
而且,没有错误。类是完全相同的。只是进入视野会搞砸吗?
乔
【问题讨论】:
-
根本不是那个类。尝试在调试模式下打印 - 它不会将 UIView 转换为 SKView - 如果它不是 SKView :)
-
@GrzegorzKrukowski 这以前有效。 “调试模式”是什么意思?我如何访问它?
-
"Sprite 套件使用此代码加载视图。"你从哪里得到那个的?还有
self.view是什么? -
好吧,既然这是在视图控制器中,
self.view是视图控制器控制的视图。通过视图,我的意思是场景。会编辑。 @塞巴斯蒂安 -
您是否完成了第 1 步:“打开项目的故事板。它有一个视图控制器 (SpriteViewController)。选择视图控制器的视图对象并将其类更改为 SKView。”
标签: ios objective-c sprite-kit