簡體   English   中英

避免觸發觸摸開始:直到滑動手勢識別器失敗

[英]Avoid triggering touchesBegan: until a swipe gesture recognizer fails

我正在iPad上制作游戲,玩家可以向上,向下,向左或向右滑動來移動角色。 攻擊由touchesBegan:withEvent:控制touchesBegan:withEvent:

我的問題是角色每次移動都會發動攻擊。

有沒有一種方法來設置滑動手勢,使代碼不運行touchesBegan:withEvent:直到它看到該運動是否是滑動的開始?

這不是一件容易的事。 在不使用某些自定義手勢的情況下,建議您嘗試將UISwipeGestureRecognizerUILongPressGestureRecognizer組合UILongPressGestureRecognizer 我知道這聽起來很傻,但事實並非如此: UILongPressGestureRecognizer動作與平移手勢幾乎相同,因此即使拖動手指,您也會收到事件。 您需要設置一些合適的最小持續時間,直到觸發為止(取決於滑動手勢),並設置一些較大的最小拖動長度,這樣就不會因為拖動而被取消。 您需要先刪除觸摸事件方法,然后將代碼移至長按手勢操作。

為了說明結果,長按手勢(如果設置正確)將與觸摸事件相同,除了它將等待指定的持續時間。 如果在此期間內檢測到滑動,則長按手勢將不會觸發。 似乎正是您所需要的...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM