2012-08-02 61 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