触摸/拖动快速通话

时间:2012-08-02 17:13:48

标签: ios cocos2d-iphone

我正在创建一个射击游戏,您可以触摸屏幕并且玩家可以进行拍摄。我遇到的问题是,当你触摸屏幕并将其向下拖动时,它会快速射击。处理这个问题的最佳方法是什么?

我希望玩家能够按住手指并以稳定的速度拍摄,然后用手指向上停止拍摄。

我在考虑使用定时器,但我认为这不是很有效......还有其他想法吗?

由于

1 个答案:

答案 0 :(得分:1)

我真的很想看到有关如何实施拍摄的详细信息,但是让我为您提供一种方法来实现这一目标:

  1. 在cocos2d中,您可以使用CCScheduler来安排方法调用,而不是使用计时器。这非常有效。您不必担心性能。
  2. 在预定的方法中,您将检查用户是否仍在触摸屏幕,并决定是否相应地进行拍摄。
  3. 以下是一些可以帮助您入门的代码:

    注意:我在cocos2d v2.0中使用cocos2d v1.0.1 ..,我认为CCScheduler已移至CCDirector

    - (void)init {
        // ...
    
        [[CCScheduler sharedScheduler] scheduleSelector:@selector(shoot:) forTarget:self interval:0.2f paused:NO];
    
        // ...
    }
    
    - (void)shoot:(ccTime)dt {
        if (userIsTouching) {
            [player shoot];
        }
    }