Ani*_*ish 0 cocoa-touch objective-c touch cocos2d-iphone ios
如果用户在特定时间内没有触摸屏幕,我必须执行特定操作.我怎么能在Cocos2d中做到这一点?
您可以继承您的UIView并覆盖- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
.
此方法在响应程序链中很早就被调用,并允许您在视图中的任何位置检测触摸.
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
UIView *result = [super hitTest:point withEvent:event];
....
return result;
}
Run Code Online (Sandbox Code Playgroud)
一旦检测到触摸,就会重置一个计时器,以便在计时器触发之前进入新的触摸事件,或者计时器触发.
当计时器触发时,您执行特定的操作.
类似的方法可以是子类化UIWindow
然后重写-(void)sendEvent:(UIEvent *)event
.这样做的好处是不与视图相关,而是与应用程序的整个窗口相关,甚至更早地在响应程序链中调用.
- (void)sendEvent:(UIEvent *)event {
if ([self thisIsTheTouchIwaitedFor:event])
[self resetWaitTimer];
[super sendEvent:event];
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
503 次 |
最近记录: |