我正在创建一个射击游戏,您可以触摸屏幕并且玩家可以进行拍摄。我遇到的问题是,当你触摸屏幕并将其向下拖动时,它会快速射击。处理这个问题的最佳方法是什么?
我希望玩家能够按住手指并以稳定的速度拍摄,然后用手指向上停止拍摄。
我在考虑使用定时器,但我认为这不是很有效......还有其他想法吗?
由于
答案 0 :(得分:1)
我真的很想看到有关如何实施拍摄的详细信息,但是让我为您提供一种方法来实现这一目标:
CCScheduler
来安排方法调用,而不是使用计时器。这非常有效。您不必担心性能。以下是一些可以帮助您入门的代码:
注意:我在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];
}
}