ios - 触摸/拖动快速通话

标签 ios cocos2d-iphone

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

我希望玩家能够按住手指并以稳定的速度射击,而手指向上则停止射击。

我想只使用计时器,但我认为这不是很有效......还有其他想法吗?

谢谢

最佳答案

我真的很想了解有关您如何实现拍摄的更多详细信息,但让我为您提供一种实现此目的的方法:

  1. 在cocos2d中,您可以使用CCScheduler来安排方法调用,而不是使用计时器。这是非常有效的。您不必担心性能。
  2. 在预定方法中,您将检查用户是否仍在触摸屏幕,并据此决定是否拍摄。

这里有一些代码可以帮助您入门:

注意:我正在使用cocos2d v1.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];
    }
}

关于ios - 触摸/拖动快速通话,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11782520/

相关文章:

objective-c - 键盘关闭和 UITableView 触摸问题

ios - 将本地化文件添加到新的 IOS 7 应用程序

ios - Facebook 和 Path 是否在其根导航 UI 中使用开源库?

iphone - 如何从COCOS3D中的URL加载.pod文件

ios - SpriteKit CCFollow 替代方案?

iphone - 在cocos2d中点击按钮

ios - Swift SpriteKit 委托(delegate)模式

iOS - Google Analytics 委托(delegate)方法未被调用且页面 View 未跟踪

objective-c - NSMutableArray 的 Sprite ,内存问题?

ios - cocos2d Sprite 表消耗大量内存