2014-12-28 3 views
0

흔들림 감지에 문제가 있습니다. Sprit Kit의 Skscene이고 움직임 감지기를 다음과 같이 정의했습니다.스프라이트 키트의 떨림 감지

- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event{ 

} 

-(void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event { 

NSLog(@"test?"); 

} 

어디서 실수 했습니까? UIGestureRecognizer로해야만하는 것처럼 구현해야합니까?

미리 감사 (내 나쁜 영어 죄송합니다)는 줄리안

답변

2

분명히, 당신은 GameScene 같은 SKScene 서브 클래스에서 흔들림 이벤트를 감지 할 수 없습니다. 그러나보기 컨트롤러에서이를 감지 할 수 있습니다 (예 : GameViewController). 흔들기 이벤트가 발생하면보기 컨트롤러에서 GameScene에있는 흔들기 처리기를 호출 할 수 있습니다. 당신의 GameViewController.m에서

, 흔들림 이벤트를 감지하기 위해 추가

- (void) motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event { 
    if (motion == UIEventSubtypeMotionShake) { 
     SKView *skView = (SKView *)self.view; 
     GameScene *scene = (GameScene *)skView.scene; 
     // Call a function in the GameScene 
     [scene shake]; 
    } 
} 

GameScene.h에 @interface이 추가

- (void) shake; 

- (void) shake { 
    NSLog(@"shake"); 
} 
GameScene.m

이 추가
+0

완벽하게 해결했습니다! 고마워요! –

관련 문제