2012-08-02 87 views
0

我正在创建一个射击游戏,您可以触摸屏幕和播放器进行拍摄。我遇到的问题是,当您触摸屏幕并将其保持下来时,将其拖曳到屏幕上即可快速射击。处理这个问题的最佳方法是什么?触摸/拖动快速呼叫

我希望玩家能够按住手指并稳定地拍摄,手指停止拍摄。

我想使用一个计时器,但我不认为这是非常有效的......任何其他的想法?

感谢

回答

1

我真的想看到你是如何实现的拍摄更多的细节,但让我为你提供一种方式来实现这一目标:

  1. 在cocos2d,你可以使用CCScheduler来调度方法调用,而不是使用定时器。这非常有效。您不必担心性能。
  2. 在预定的方法,你会检查用户是否仍然在触摸屏幕,并决定相应地拍摄或不。

下面是一些代码,让你开始:

注:使用cocos2d的1.0.1 ..在cocos2d V2.0是,我觉得CCScheduler被移到了CCDirector

- (void)init { 
    // ... 

    [[CCScheduler sharedScheduler] scheduleSelector:@selector(shoot:) forTarget:self interval:0.2f paused:NO]; 

    // ... 
} 

- (void)shoot:(ccTime)dt { 
    if (userIsTouching) { 
     [player shoot]; 
    } 
} 
+0

如果你想在我的实施细节抛给我一个电子邮件,我可以在那里解释。给我你想知道的细节! 这是完美的,谢谢你的回答! – Lagoo87 2012-08-02 23:52:38

+0

哈哈,没问题,男人。我需要细节来更好地阐述我的答案,这就是全部:)但是,你已经知道了,所以,荣誉! – Mazyod 2012-08-03 01:28:14