Sprite kit UITapGestureRecognitor不';我不能在SKView工作
我的视图控制器中有以下代码运行场景:Sprite kit UITapGestureRecognitor不';我不能在SKView工作,sprite-kit,uigesturerecognizer,Sprite Kit,Uigesturerecognizer,我的视图控制器中有以下代码运行场景: SKView * _skView; ClassicGameScene* _scene; - (void)viewWillLayoutSubviews { [super viewWillLayoutSubviews]; if (!_skView) { _skView = [[SKView alloc] initWithFrame:self.view.bounds]; ClassicGameScene *sc
SKView * _skView;
ClassicGameScene* _scene;
- (void)viewWillLayoutSubviews
{
[super viewWillLayoutSubviews];
if (!_skView) {
_skView = [[SKView alloc] initWithFrame:self.view.bounds];
ClassicGameScene *scene =[[ClassicGameScene alloc] initWithSize:_skView.bounds.size];
scene.scaleMode = SKSceneScaleModeAspectFill;
[_skView presentScene:scene];
[self.view addSubview:_skView];
[self.view setUserInteractionEnabled:YES];
_scene = scene;
};
}
在我的场景中,我有一个:
- (id)initWithSize:(CGSize)size
{
if (self = [super initWithSize:size]) {
[self createSceneContents];
}
return self;
}
-(void) createSceneContents
{
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tap:)];
[self.view setUserInteractionEnabled:YES];
[self.view addGestureRecognizer:singleTap];
[self addBackground];
[self addLabels];
[self preparePlocha];
}
但当我点击场景时,我的手势识别器并没有显示
工作(未触发tap过程-通过断点测试)。有人能帮我吗?
谢谢。您是如何实现tap:method的?-(void)tap:(UIgestureRecognitizer*)gestureRecognitizer{NSLog(@“Tapped”);}为什么要手动创建SKView并将其添加为视图控制器视图的子视图?实际情况如何?您可能需要尝试[\u skView ADDGESTURE识别器:singleTap].self.view在initWithSize中为nil。您应该从didMoveToView调用createSceneContents。